home *** CD-ROM | disk | FTP | other *** search
- 10 '------------------------------------------------------------------
- 20 ' HK2cld.BAS Copyrigit(C) T.Komura
- 30 '
- 31 ' Version 1.0 1991.07.17-1991.07.21
- 32 ' 1.1 1991.08.04 文字入力ルーチン v1.1-->v1.3
- 33 ' 1.2 1991.08.13 メモマーク表示追加
- 34 ' 1.2a 1991.10.03 文字入力ルーチンを元に戻す
- 35 ' 1.2b 1991.12.25 メモ追記後のマーク表示追加
- 36 ' 1.3 1991.12.25 メモ・行事一覧表示追加
- 37 ' 1.3a 1991.12.29 本日、前月、次月直接指定追加
- 40 ' hkcalend1.3 1994.02.01 家計簿プログラムにリンク
- 41 ' HK V2.0 L10a 1995.06.18 V2.0
- 100 '------------------------------------------------------------------
- 120 CLEAR ,,,,1024,300*1024
- 130 DIM CFI$(15)
- 140 GOSUB *CONFIGファイルチェック
- 165 '------------------------------------------------------------------
- 170 休日1$="(祝日)" ' 休日を検出する行事ファイル内のキーワード 1
- 171 休日2$="(休日)" '
- 180 代休1 =1 ' 休日が日曜日と重なった場合月曜日を代休とする時"1"
- 181 代休2 =0 ' 会社等の休日
- 185 '--[使用環境設定領域 ここまで]-------------------------------------
- 190 '
- 200 *初期設定:'--------------------------------------------------------
- 210 CMD$="CD "+PRGDRV$:SHELL CMD$
- 220 CONSOLE 0,24,0:MOUSE 0
- 230 DIM MSGD%(28000):' 音声メッセージ配列定義 プログラム先頭で定義
- 240 LOAD@ FMBDRV$+"\FMP.FMB"
- 250 PLAY "@30T150V6":DATX$=DATE$
- 255 'ウインドウ関係座標配列
- 256 G=8:B=50
- 260 DIM B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B),BST(G,B)
- 265 DIM W_X1(G),W_X2(G),W_Y1(G),W_Y2(G)
- 266 DIM W_XA(G),W_XB(G),W_YA(G),W_YB(G)
- 267 DIM MD_SB#(10465),MD_SW#(10465),MAT#(5925):'max : HELP window
- 268 'デ-タ配列
- 270 DIM EVDT$(12,32),MEDT$(32,2)
- 295 DIM DOC$(2000) :'HELPデータ
- 300 INTERVAL 1 :'プログラム先頭
- 310 ON INTERVAL GOSUB *時計表示 :'プログラム先頭
- 320 GOSUB *ボタン座標読み取り
- 330 'CLS:COLOR 7:PRINT int((int(((408-36+1)+7)/8)*(213-30+1)*4+8-1)/8)
- 360 DIM LMB#(900),ABOUTD#(2071),HLPL#(397),HLPC#(8449),BIOD#(4324)
- 370 ON ERROR GOTO *ERROR
- 400 GOSUB *MCREAD:GOSUB *DCLOCKREAD
- 440 '
- 510 CTRLB1=17:'コントロールボタン個数
- 515 CTRLB2=15
- 524 HKCLD =5 :'検索ボタン番号
- 526 HKCLDEND=10:'終了ボタン番号
- 540 DOCF$="\HK2cld.HLP"
- 600 CCHGINT=3 :'年月変更後2秒以上経過すると自動的にカレンダーを表示
- 980 '
- 1000 *メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
- 1005 GOSUB *SEFFECT1
- 1015 MESN=1:GOSUB *MESDSP:PRINT VERN$;
- 1020 GOSUB *本日の日付
- 1040 GOSUB *本日のカレンダー表示
- 1045 MESN=28:GOSUB *SNDMSG
- 1050 MOUSE 1,320,64,1:MODE=11:MODEX=11
- 1060 MCN=1:GOSUB *MCDSET
- 1100 *メイン選択
- 1110 IF MES2OFF=0 THEN MESN=2:GOSUB *MESDSP
- 1120 SWPASS=1:G=1:GOSUB *MCSELECT
- 1122 IF CDSPQUE=1 THEN GOTO *S00
- 1130 IF SWNO<0 THEN GOTO *メイン選択'
- 1140 IF SWNO=0 THEN GOTO *SSEL
- 1150 ' HK2 記入 検索 分析 CLD 設定 日付 時計 HELP EXIT JUMP 年間 行事 日数 バイオ 実行 取消 yup ydn y+10 y-10 mup mdn 先月 次月 行事
- 1155 ON SWNO GOTO *S01,*S02,*S02,*S02,*S02,*S02,*S04,*S03,*S07,*S08,*S09,*S10,*S11,*S12,*S13, *S00,*S06,*S20,*S21,*S22,*S23,*S24,*S25,*S26,*S27,*S14
- 1160 '
- 1200 *S06:GOTO *メイン選択
- 1500 *S00:' 表示 --------------------------------------------------------
- 1502 IF CDSPQUE=1 THEN 1510
- 1504 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 1510 CCHGF=0:CDSPQUE=0
- 1525 MESN=5:GOSUB *MESDSP
- 1530 GOSUB *指定カレンダー表示
- 1535 ' MESN=31:GOSUB *SNDMSG
- 1538 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 1540 MES2OFF=0:GOTO *メイン選択
- 1900 '
- 2000 *S14:' 行事入力 ----------------------------------------------------
- 2010 IF CSRINIT=0 THEN *メイン選択
- 2020 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 2025 MESN=7:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
- 2030 GOSUB *行事入力
- 2070 EVDT$(MN,SELDY)=EVENT$
- 2080 GOSUB *EVPUT:MEMN=0:GOSUB *マーク追加表示
- 2150 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 2200 GOTO *メイン選択
- 2210 '
- 3300 *S09:'cldJUMP
- 3305 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 3310 IF CCHGF=1 OR SELCF=0 THEN GOTO 3470
- 3320 DY$=RIGHT$(STR$(SELDY+100),2)
- 3330 DT$=YR$+"."+MN$+"."+DY$
- 3350 CMES$="指定日付の「記入・編集モード」へ移行":GOSUB *確認
- 3360 ON CAUNO GOTO 3400,3470
- 3400 GOSUB *DTSAVE
- 3410 SWNO=2:GOTO *S02
- 3470 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 3480 MES2OFF=0:GOTO *メイン選択
- 3490 '
- 3500 *S20:' 1年先 -------------------------------------------------------
- 3510 YDEF= +1:MDEF= 0:GOTO *SYRRNEW
- 3520 *S21:' 1年前 -------------------------------------------------------
- 3530 YDEF= -1:MDEF= 0:GOTO *SYRRNEW
- 3540 *S22:'10年先 -------------------------------------------------------
- 3550 YDEF=+10:MDEF= 0:GOTO *SYRRNEW
- 3560 *S23:'10年前 -------------------------------------------------------
- 3570 YDEF=-10:MDEF= 0:GOTO *SYRRNEW
- 3580 *S24:' 1月先 -------------------------------------------------------
- 3585 YDEF= 0:MDEF=+1:GOTO *SYRRNEW
- 3590 *S25:' 1月前 -------------------------------------------------------
- 3595 YDEF= 0:MDEF=-1:GOTO *SYRRNEW
- 3600 *SYRRNEW
- 3605 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 3610 CCHGT=TIME:CCHGF=1
- 3620 IF CDSPF=0 THEN 3660
- 3630 GOSUB *カレンダー消去:SELCF=0
- 3660 GOSUB *年月日変更
- 3670 IF SWNO<22 THEN GOSUB *メイン年表示 ELSE GOSUB *メイン年月表示
- 3680 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 3685 MESN=6:GOSUB *MESDSP:MES2OFF=1
- 3690 GOTO *メイン選択
- 3695 '
- 3700 *SSEL:'------------------------------------------------------------
- 3705 GOSUB *カレンダー選択判定
- 3710 IF TBMSEL=0 THEN 3790
- 3715 IF CDSPF =0 THEN 3790
- 3720 SELDY=CLM(TBX,TBY)
- 3730 GOSUB *日カーソル表示:SELCF=1
- 3740 GOSUB *行事表示
- 3750 'GOSUB *MECHK :'////////// 1991.08.13
- 3755 'IF MECHK=1 THEN GOSUB *MEGET :'////////// 1991.08.13
- 3790 GOTO *メイン選択
- 3830 '
- 4500 *S10:'年間カレンダーへ切替え----------------------------------------
- 4520 IF CCHGF=1 THEN GOTO 4655
- 4530 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 4532 SWNOX=SWNO:G=2:GMCD=1:GOSUB *ガイド表示
- 4535 MESN=9:GOSUB *MESDSP:MESN=15:GOSUB *SNDMSG
- 4540 GOSUB *年間カレンダー用紙
- 4550 GOSUB *年間カレンダー表示
- 4555 MESN=3:GOSUB *MESDSP:MESN=14:GOSUB *SNDMSG
- 4560 SWPASS=0:GOSUB *MCSELECT
- 4565 IF SWNO<0 THEN SWNO=1
- 4566 IF SWNO=2 THEN GOSUB *MCDRAG:GOTO 4560
- 4570 IF SWNO<>0 THEN GOTO 4580
- 4572 MCN=3:GOSUB *MCDSET:MESN=13:GOSUB *SNDMSG
- 4575 MCN=1:GOSUB *MCDSET:GOTO 4560
- 4580 G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 4600 GOSUB *用紙消去
- 4620 SWNO=SWNOX:GMCD=0:GOSUB *ガイド表示
- 4630 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 4655 MES2OFF=0:GOTO *メイン選択
- 4660 '
- 5000 *S12:'日数計算へ切替え----------------------------------------
- 5005 IF CCHGF=1 THEN GOTO 5150
- 5010 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 5020 SWNOX=SWNO:G=7:GMCD=3:GOSUB *ガイド表示
- 5035 MESN=12:GOSUB *MESDSP
- 5040 GOSUB *日数計算用紙
- 5045 MESN=20:GOSUB *SNDMSG
- 5050 GOSUB *日数計算メイン
- 5100 GOSUB *用紙消去
- 5120 SWNO=SWNOX:GMCD=0:GOSUB *ガイド表示
- 5130 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 5150 MES2OFF=0:GOTO *メイン選択
- 5160 '
- 5500 *S13:'バイオリズムへ切替え----------------------------------------
- 5505 IF CCHGF=1 THEN GOTO 5650
- 5530 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 5532 SWNOX=SWNO:G=8:GMCD=4:GOSUB *ガイド表示
- 5540 GOSUB *バイオリズム用紙
- 5545 MESN=10:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
- 5550 GOSUB *バイオリズムメイン
- 5600 GOSUB *用紙消去
- 5610 SWNO=SWNOX:GMCD=0:GOSUB *ガイド表示
- 5620 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 5650 MES2OFF=0:GOTO *メイン選択
- 5660 '
- 5700 *S11:'行事一覧表示 -----------------------------------------------
- 5705 IF CCHGF=1 THEN GOTO 5780
- 5720 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 5726 SWNOX=SWNO:G=4:GMCD=2:GOSUB *ガイド表示
- 5730 GOSUB *メモ一覧用紙
- 5740 GOSUB *行事一覧表示メイン
- 5750 GOSUB *用紙消去
- 5755 SWNO=SWNOX:GMCD=0:GOSUB *ガイド表示
- 5760 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 5780 MES2OFF=0:GOTO *メイン選択
- 5790 '
- 5990 '
- 6000 *S01:'About HK2---------------------------------------------------'
- 6010 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 6020 MESN=1:GOSUB *MESDSP
- 6030 GOSUB *ABOUT表示
- 6060 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 6070 GOTO *メイン選択
- 6080 '
- 6100 *S03:'Digital Clock ----------------------------------------------'
- 6110 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 6120 MESN=1:GOSUB *MESDSP
- 6130 GOSUB *DGCLOCK
- 6160 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 6170 GOTO *メイン選択
- 6180 '
- 6200 *S07:'Help -------------------------------------------------------'
- 6210 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 6220 MESN=14:GOSUB *MESDSP
- 6230 GOSUB *HKHELP
- 6260 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 6270 GOTO *メイン選択
- 6280 '
- 6900 '
- 7000 *S04:'本日のカレンダー表示[直接指定] -----------------------------
- 7010 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 7020 IF YR=TY AND MN=TM THEN 7040
- 7026 GOSUB *カレンダー消去
- 7030 MESN=5:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
- 7035 GOSUB *本日のカレンダー表示
- 7040 YR=TY:MN=TM:GOSUB *WEEKN:SELDY=TD
- 7050 TBX=(WK+TD-1) MOD 7
- 7055 TBY=INT((WK+TD-1)/7)
- 7060 GOSUB *日カーソル表示:SELCF=1
- 7070 GOSUB *行事表示
- 7085 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 7086 MESN=28:GOSUB *SNDMSG
- 7090 GOTO *メイン選択
- 7095 '
- 7200 *S26:'前月のカレンダー表示[直接指定] -----------------------------
- 7210 YDEF= 0:MDEF=-1:GOTO *SYRRNEW2
- 7220 *S27:'次月のカレンダー表示[直接指定] -----------------------------
- 7230 YDEF= 0:MDEF=+1:GOTO *SYRRNEW2
- 7250 *SYRRNEW2
- 7260 G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 7270 G=1:B=1 :BST(1,1)=0:GOSUB *BTN_ONOFF
- 7280 GOSUB *カレンダー消去:SELCF=0
- 7290 GOSUB *年月日変更
- 7295 GOSUB *メイン年月表示
- 7300 G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 7310 CDSPQUE=1:GOTO *S00
- 7900 '
- 8000 *S02:'プログラム呼び出し・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
- 8010 IF SWNO=HKCLD THEN GOTO *メイン選択
- 8020 G=1:B=HKCLD:BST(G,B)=0:GOSUB *BTN_ONOFF
- 8025 G=1:B=SWNO :BST(G,B)=1:GOSUB *BTN_ONOFF
- 8110 MESN=13:GOSUB *MESDSP':MESN=24:GOSUB *SNDMSG
- 8120 INTERVAL OFF:GOSUB *SEFFECT2
- 8130 ON SWNO-1 GOTO *S021,*S022,*S023,*S02,*S025
- 8150 '
- 8160 *S021:RUN "HK2in.bas"
- 8170 *S022:RUN "HK2src.bas"
- 8180 *S023:RUN "HK2anl.bas"
- 8190 *S025:RUN "HK2cfg.bas"
- 8940 '
- 9000 *S08:'終了・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
- 9020 G=1:B=HKCLDEND:BST(G,B)=1:GOSUB *BTN_ONOFF
- 9060 '
- 9110 MESN=13:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
- 9120 INTERVAL OFF
- 9130 GOSUB *SEFFECT2
- 9150 RUN "hk2.bas"
- 9160 '
- 9900 '-------------------------------------------------------------------
- 9910 ' GENERAL SUB ROUTINE
- 9920 '-------------------------------------------------------------------
- 10000 *CHR1IN:'////////// 1文字入力
- 10010 A$=INKEY$:IF A$="" THEN 10010
- 10020 A=INSTR(C$,A$)
- 10030 IF A=0 THEN MESN=13:GOSUB *SNDMSG:GOTO 10010
- 10040 RETURN
- 10050 '
- 10060 '
- 10070 *MESDSP:'////////// メッセージ表示
- 10080 RESTORE *MESDAT
- 10090 FOR IM=1 TO MESN:READ XM,YM,CM,CB,BM,MES$:NEXT IM
- 10105 LINE(0,463)-(639,479),PSET,0,BF
- 10115 SYMBOL(0,465),MES$,.75!,.75!,CM
- 10120 'IF BM=1 THEN PLAY "L4O4A"
- 10130 RETURN
- 10140 '
- 10200 *MESDAT:'////////// メッセージデータ
- 10205 ' XM, YN, CM, CB, BM
- 10210 DATA 2, 23, 5, 0, 1 :'--- 01
- 10215 DATA "家計簿システム HK2 「カレンダー」モード"
- 10220 DATA 2, 23, 7, 0, 0 :'--- 02
- 10225 DATA "マウスで適当にボタンを選んで押してくださいね。"
- 10230 DATA 2, 23, 7, 0, 0 :'--- 03
- 10235 DATA "[■] を押してください。 メインカレンダーにもどります。"
- 10240 DATA 2, 23, 7, 0, 1 :'--- 04
- 10245 DATA "CDパネルのボタンを押してね! 終わったら[ロ]ボタンを押してください。"
- 10250 DATA 2, 23, 4, 0, 1 :'--- 05
- 10255 DATA "★ご指定のカレンダーを一生懸命つくっています。"
- 10260 DATA 2, 23, 6, 0, 1 :'--- 06
- 10265 DATA "[表示]ボタンを押すと、すぐにカレンダーが表示されます。"
- 10270 DATA 2, 23, 5, 0, 1 :'--- 07
- 10275 DATA " 「行事」を入力してください。 "
- 10280 DATA 2, 23, 7, 0, 0 :'--- 08
- 10285 DATA "「メモ」を入力してください。 "
- 10290 DATA 2, 23, 4, 0, 1 :'--- 09
- 10295 DATA "★「年間カレンダー」を必死に作っています。ちょっと待ってね!"
- 10300 DATA 2, 23, 7, 0, 0 :'--- 10
- 10305 DATA "あなたの誕生日を入力して[実行]を押してください。 終了は[取消]"
- 10310 DATA 2, 23, 4, 0, 0 :'--- 11
- 10315 DATA "★「バイオリズム」グラフをのんびりと作っています。"
- 10320 DATA 2, 23, 7, 0, 0 :'--- 12
- 10325 DATA "日数計算の開始日、終了日を入力し、[実行]ボタンを押してください。 終了は[取消]"
- 10330 DATA 2, 23, 5, 0, 1 :'--- 13
- 10335 DATA "★★★しばらくお待ちください....."
- 10340 DATA 2, 23, 5, 0, 1 :'--- 14
- 10345 DATA "HKHELP★カレンダーモードの説明を表示しています。 頁移動-[ヒ][フ] 行移動-[▲][▼] 終了-[■]"
- 10350 DATA 2, 23, 4, 0, 1 :'--- 15
- 10355 DATA ""
- 10360 DATA 2, 23, 7, 0, 1 :'--- 16
- 10365 DATA "上旬、中旬、下旬を選択してください。 終了は[■]を押してください。"
- 10370 DATA 2, 23, 4, 0, 1 :'--- 17
- 10375 DATA ""
- 10380 DATA 2, 23, 6, 0, 1 :'--- 18
- 10385 DATA "メインカレンダーの[表示]ボタンを先に押してね!!"
- 10390 DATA 2, 23, 6, 0, 1 :'--- 19
- 10395 DATA "この月のメモデータのファイルはありませんよ!!"
- 10600 *SEFFECT1'////////////////////////////////////////////////////////
- 10605 SCREEN 1,1,2,1:PALETTE 9,[0,0,0]:LINE(0,0)-(639,479),PSET,1,BF
- 10610 SCREEN 1,0,2,1:GOSUB *表紙表示
- 10612 SCREEN 1,1,3,1:
- 10620 FOR II=0 TO 240 STEP 2:PALETTE 9,[II,II,II]
- 10621 ' LINE(320-II,240-II*3/4)-(320+II,240+II*3/4),PSET,0,B
- 10622 LINE(0,240-II)-(639,240+II),PSET,0,BF
- 10623 NEXT II
- 10630 SCREEN 1,0,1,0:INTERVAL ON
- 10640 SCREEN 0
- 10645 RETURN
- 10650 '
- 10700 *SEFFECT2'////////////////////////////////////////////////////////
- 10712 SCREEN 1,1,3,1:
- 10720 FOR II=240 TO 0 STEP -1:PALETTE 9,[II,II,II]
- 10721 LINE(0,240+II)-(639,240-II),PSET,1,B
- 10723 NEXT II
- 10730 MESN=13:GOSUB *MESDSP
- 10740 RETURN
- 10990 '
- 11000 *SNDMSG:' SAVE "SNDMSG.SUB",A
- 11005 IF SNDMF=0 THEN RETURN
- 11010 '・・・・・・・・・・・・・・・・・ サウンドメッセージ実行サブルーチン 1989.02.04
- 11020 ' 入力=MESN (メッセージNo.)
- 11030 '
- 11070 IF MESN>36 THEN *RETURN_SNDMSG :'END
- 11080 RESTORE *MSGNAM
- 11090 FOR IMSG=1 TO MESN
- 11100 READ MSGD$
- 11110 NEXT IMSG
- 11120 MSGFN$=SNDDRV$+"\"+MSGD$+"_F.SND"
- 11130 LOAD@ MSGFN$,MSGD%
- 11140 PCMPLAY MSGD%:WAIT SWAIT\1+1
- 11150 *RETURN_SNDMSG :RETURN
- 11160 *MSGNAM :'////////// .SND File Name Data
- 11170 DATA "OHA1" :' 1 おはよう
- 11180 DATA "KONN" :' 2 こんにちわ
- 11190 DATA "KONBAN" :' 3 こんばんわ
- 11200 DATA "goyuku" :' 4 ごゆっくり
- 11210 DATA "GOKRO2" :' 5 ごくろうさま
- 11220 DATA "OTUKA" :' 6 お疲れさま
- 11230 DATA "DOUZO" :' 7 おまたせ
- 11240 DATA "ARIGA2" :' 8 ありがとう
- 11250 DATA "RUNRUN" :' 9 るんるん
- 11260 DATA "DAMEDE" :' 10 だめでしょう
- 11270 DATA "IIDE1" :' 11 いいですか
- 11280 DATA "NANISI" :' 12 なにしてるの
- 11290 DATA "DAMEDA" :' 13 だめだめ
- 11300 DATA "OWARI" :' 14 終わりました
- 11310 DATA "SIBA" :' 15 しばらくお待ち下さい
- 11320 DATA "YOROSI" :' 16 よろしいですか
- 11330 DATA "TYANTO" :' 17 ちゃんとしなさい
- 11340 DATA "ERANDE" :' 18 選んでください
- 11350 DATA "KAKNIN" :' 19 確認して下さい
- 11360 DATA "NYURYO" :' 20 入力してください
- 11370 DATA "IRA" :' 21 いらっしゃいませ
- 11380 DATA "OYASUM" :' 22 おやすみ
- 11390 DATA "ARIGA3" :' 23 ありがとうございました
- 11400 DATA "TYOTO" :' 24 ちょっと待って
- 11410 DATA "DAMEYO" :' 25 駄目よ
- 11420 DATA "YAMETE" :' 26 やめて
- 11430 DATA "TIGAU" :' 27 ちがうよ
- 11440 DATA "PINPON" :' 28 ぴんぽーん
- 11450 DATA "BUU" :' 29 ぶー
- 11460 DATA "MOUII" :' 30 もういいよう
- 11470 DATA "DEKITA" :' 31 できたよー
- 11480 DATA "IIDE2" :' 32 いいですか(2)
- 11490 DATA "YOSI" :' 33 よしなさい
- 11500 DATA "OYOSI" :' 34 およしなさい
- 11510 DATA "YAMENA" :' 35 やめなさい
- 11520 DATA "GOMEN" :' 36 ごめん
- 11530 '
- 12000 '////////// 年月日入力 & 曜日表示
- 12010 '
- 12045 *週検索
- 12050 DATA "SUN",2,"MON",7,"TUE",7,"WED",7,"THU",7,"FRI",7,"SAT",5
- 12060 GOSUB *WEEKN:RESTORE 12050:FOR IW=0 TO WK:READ WKM$,CW:NEXT IW
- 12080 RETURN
- 12090 '
- 12450 *WEEKN :'////////// 週NO.検索 'v1.3 bugfix 93.12.27
- 12460 U=0 :'・・・・・・・・・・・・・・・・・・・・・・・・ Input; YR MN Output; WK DN
- 12470 IF YR/4-INT(YR/4)=0 THEN U=1
- 12480 DATA 0,31,28,31,30,31,30,31,31,30,31,30,31
- 12490 DATA 0,31,29,31,30,31,30,31,31,30,31,30,31
- 12500 IF U=0 THEN RESTORE 12480 ELSE RESTORE 12490
- 12505 'IF MN=1 THEN MDN=0:MNDN=31:GOTO 12520
- 12510 MDN=0:FOR IWEKN=1 TO MN:READ DN:MDN=MDN+DN:NEXT IWEKN:'1日までの日数
- 12515 READ MNDN :'当月の日数
- 12516 IF DY>MNDN THEN DY=MNDN :'V1.3!
- 12520 YDN#=MDN+YR*365+INT((YR+3)/4)+5+DY-1
- 12530 WK=(YDN#/7-INT(YDN#/7))*7
- 12540 RETURN
- 12550 '
- 12600 *年月日変更: 'v1.3 bugfix 93.12.27
- 12601 GOSUB *WEEKN
- 12602 DY=DY+DDEF
- 12604 IF DY>MNDN THEN DY=1 :MDEF=+1
- 12606 IF DY<1 THEN DY=31 :MDEF=-1
- 12610 MN=MN+MDEF
- 12620 IF MN>12 THEN MN=MN-12 :YDEF=+1
- 12630 IF MN<1 THEN MN=12+MN :YDEF=-1
- 12640 YR=YR+YDEF
- 12650 IF YR<0 THEN YR=10000+YR
- 12660 IF YR>9999 THEN YR=YR-10000
- 12665 GOSUB *WEEKN
- 12668 DY$=RIGHT$(STR$(100+DY),2)
- 12670 MN$=RIGHT$(STR$(100+MN),2)
- 12680 YR$=RIGHT$(STR$(10000+YR),4)
- 12690 RETURN
- 12695 '
- 12700 *本日の日付
- 12705 DEF FONT "システム 12ドット"
- 12710 TY$=LEFT$(DATE$,2) :TY=VAL(TY$)
- 12720 IF TY<90 THEN TY=TY+2000 ELSE TY=TY+1900
- 12730 TY$=RIGHT$(STR$(TY),4)
- 12740 TM$=MID$(DATE$,4,2):TM=VAL(TM$)
- 12750 TD$=RIGHT$(DATE$,2):TD=VAL(TD$)
- 12760 YR=TY:MN=TM:DY=TD:GOSUB *週検索:IF CW=0 THEN CW=7
- 12770 TYMD$=TY$+"."+TM$+"."+TD$
- 12780 LINE(475,5)-(560,17),PSET,0,BF
- 12790 SYMBOL(476,6),TYMD$,.75!,.75!,7
- 12800 SYMBOL(542,6),WKM$,.75!,.75!,CW
- 12810 RETURN
- 12820 '
- 13000 '////////////////////////////////////////////////////////////////////
- 13001 ' LKEYIN v1.1a 全角文字移動改良 1993.02.12 T.Komura
- 13002 '--------- v1.2 挿入モードの変更他全面bugFIX 1993.08.04 T.Komura
- 13003 ' v2.0 グラフィックモード12dot用に改造 1994.07.30 T.Komura
- 13004 ' v2.1 マルチカラムに改造 1994.09.02 T.Komura
- 13005 ' v2.2 編集文字を初期表示するように改造1995.04.29 T.Komura
- 13006 '
- 13010 *LKEYIN :'・・・・・・・・・・・ 1 行全角文字入力サブルーチン
- 13020 ' 入力 = LX,LY : 表示開始座標 LG : 行数
- 13030 ' L$(ii): 初期文字列 LP : 行ピッチ
- 13040 ' LC : 表示文字色 lb : 非編集行文字色
- 13050 ' LL : 最大文字数 cbc : 背景色
- 13060 ' LINS : 挿入モード=1 出力=L$(ii) : 入力後の文字列
- 13070 '
- 13080 LCSRCL=6:LLINCL=4
- 13090 DEF FONT "システム 12ドット"
- 13100 ' CR MR ML INS DEL BS CAN
- 13120 CONSOLE 0,24,2
- 13130 CC$=CHR$(&H0D,&H1E,&H1F,&H1C,&H1D,&H12,&H7F,&H08,&H18)
- 13140 ' LMG$=SPACE$(LL):LMGD$=SPACE$(LL) :'2.1
- 13150 LA$=INKEY$:IF LA$<>"" THEN 13150
- 13160 IF LINS=1 THEN CWDT=1 ELSE CWDT=5
- 13170 LCSR=0:LGC=1 :'v2.1
- 13180 LINE(LX,LY)-(LX+LL*6+1,LY+11),PSET,%CBC,BF :'v2.2
- 13185 GET@A (LX,LY)-(LX+LL*6+1,LY+13),LMB# :'v2.0
- 13190 FOR LGII=1 TO LG:LXX=LX:LYY=LY+(LGII-1)*LP :'v2.1・・・・ 初期文字列表示
- 13200 PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB# :'v2.1
- 13210 SYMBOL(LXX,LYY),L$(LGII),.75!,.75!,LB :'v2.1
- 13220 NEXT LGII :'v2.1
- 13230 *SETLG :'----------行セット :'v2.1
- 13240 LYY=LY+(LGC-1)*LP :LM$=L$(LGC) :'v2.1
- 13250 SYMBOL(LXX,LYY),L$(LGC),.75!,.75!,LC :'v2.1
- 13260 LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF :'v2.1
- 13270 LCSRX=LCSR:GOSUB *LCSRDX
- 13280 LMX$=LEFT$(LM$+SPACE$(LL),LL)
- 13290 GOSUB *LMREAD
- 13300 IF LMGB$="1" THEN GOSUB *LCSRDEC
- 13310 *IN1C:' ・・・・・・・・・・ 1 文字入力
- 13320 LA$=INKEY$:IF LA$="" THEN 13320
- 13330 ALA=ASC(LA$):CLA=INSTR(CC$,LA$)
- 13340 IF CLA=0 THEN 13360
- 13350 ON CLA GOTO *CR,*MU,*MD,*MR,*ML,*INS,*DEL,*BS,*CAN
- 13360 IF KANF=1 THEN *KANJI
- 13370 IF ALA<&H20 THEN BEEP:GOTO *IN1C
- 13380 IF ALA>=&H20 AND ALA<&H80 THEN *ANK
- 13390 IF ALA>=&HA0 AND ALA<&HE0 THEN *ANK
- 13400 GOTO *KANJI
- 13410 *ANK :' ・・・・・・・・・・ ANK 文字入力
- 13420 IF LINS=1 THEN 13440
- 13430 MID$(LMX$,LCSR+1,1)=LA$:GOTO 13450
- 13440 LMX$=LEFT$(LMX$,LCSR)+LA$+RIGHT$(LMX$,LL-LCSR)
- 13450 GOSUB *LCSRINC
- 13460 GOSUB *LMREAD1:GOSUB *LMXDSP
- 13470 GOTO *IN1C
- 13480 *KANJI :' ・・・・・・・・・・ 漢字文字入力
- 13490 ON KANF+1 GOTO 13500,13530
- 13500 KANF=1:KANW$="":KANW$=LA$
- 13510 IF LCSR+1>=LL THEN KANF=0:BEEP
- 13520 GOSUB *LCSRD:GOTO *IN1C
- 13530 KANF=0:KANW$=KANW$+LA$
- 13540 IF LINS=1 THEN 13560
- 13550 MID$(LMX$,LCSR+1,2)=KANW$:GOTO 13570
- 13560 LMX$=LEFT$(LMX$,LCSR)+KANW$+RIGHT$(LMX$,LL-LCSR)
- 13570 GOSUB *LCSR2INC
- 13580 GOSUB *LMREAD1:GOSUB *LMXDSP
- 13590 GOTO *IN1C
- 13600 *CR :GOSUB *LMREAD:GOSUB *LCSRDX '////////// End
- 13610 LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF :'v2.0 :'v2.1
- 13620 CONSOLE 0,24,0
- 13630 RETURN:'----------------------------------------------------------
- 13640 *MU :GOSUB *LMREAD2 '////////// up :v2.1
- 13645 *MU2:GOSUB *LMBDSP:LGC=LGC-1:IF LGC<1 THEN LGC=1
- 13655 GOTO *SETLG
- 13660 *MD :GOSUB *LMREAD2 '////////// down :v2.1
- 13665 *MD2:GOSUB *LMBDSP:LGC=LGC+1:IF LGC>LG THEN LGC=LG
- 13675 GOTO *SETLG
- 13680 *MR :GOSUB *LMREAD2 '////////// Right
- 13685 IF LMGF$="1" THEN GOSUB *LCSR2INC:GOTO *MUD :'v2.1
- 13690 GOSUB *LCSRINC :GOTO *MUD :'v2.1
- 13695 *ML :GOSUB *LMREAD2 '////////// Left
- 13700 IF LMGB$="2" THEN GOSUB *LCSR2DEC:GOTO *MUD :'v2.1
- 13705 GOSUB *LCSRDEC :GOTO *MUD :'v2.1
- 13710 *MUD:IF LCSC=0 THEN GOTO *IN1C '////////// line chg.ctrl:'v2.1
- 13715 IF LCSC=+1 THEN GOSUB *LMREAD2:LCSR=0 :GOTO *MD2
- 13720 IF LCSC=-1 THEN GOSUB *LMREAD2:LCSR=LL:GOTO *MU2
- 13725 *INS:GOSUB *LCSRDX:LINS=1-LINS '////////// Insert
- 13730 IF LINS=1 THEN CWDT=1 ELSE CWDT=5
- 13735 GOSUB *LCSRDX :GOTO *IN1C
- 13740 *DEL:GOSUB *LMREAD:LMX$=LEFT$(LMG$,LCSR) '////////// Delete
- 13745 IF LMGF$="1" THEN LDEF=2 ELSE LDEF=1
- 13750 LMX$=LMX$+MID$(LMG$,LCSR+LDEF+1,LL-LCSR-LDEF)+" "
- 13755 GOSUB *LMREAD:GOSUB *LMXDSP :GOTO *IN1C
- 13760 *BS :GOSUB *LMREAD '////////// BackSpace
- 13765 IF LCSR=0 THEN GOTO *IN1C
- 13770 IF LMGB$="2" THEN GOSUB *LCSR2DEC:LDEF=2:GOTO 13780
- 13775 GOSUB *LCSRDEC :LDEF=1:GOTO 13780
- 13780 LMX$=LEFT$(LMG$,LCSR)+RIGHT$(LMG$,LL-LCSR-LDEF)+" "
- 13785 GOSUB *LMREAD:GOSUB *LMXDSP :GOTO *IN1C
- 13790 *CAN :LMX$=SPACE$(LL) '////////// Clear
- 13795 GOSUB *LMXDSP:LCSR=0:GOSUB *LCSRD
- 13800 GOSUB *LMREAD :GOTO *IN1C
- 13805 *LMREAD: '////////// Disp Char Read
- 13810 LMGFX$=MID$(LMGDX$,LCSR+1,1)
- 13815 IF LMGFX$="2" OR LMGF$="2" THEN MID$(LMX$,LCSR+1,1)=" "
- 13820 *LMREAD1:LMGD$=""
- 13825 FOR II=1 TO KLEN(LMX$)
- 13830 LMG=KTYPE(LMX$,II)
- 13835 IF LMG=0 THEN LMD$="0" ELSE LMD$="12"
- 13840 LMGD$=LMGD$+LMD$
- 13845 NEXT II
- 13850 IF LEN(LMGD$)<=LL THEN 13860
- 13855 LMGD$=LEFT$(LMGD$,LL):LMX$=LEFT$(LMX$,LL)
- 13860 IF RIGHT$(LMGD$,1)<>"1" THEN 13870
- 13865 MID$(LMGD$,LL,1)="0":MID$(LMX$,LL,1)=" "
- 13870 *LMREAD2:LMGF$=MID$(LMGD$,LCSR+1,1)
- 13875 IF LCSR=0 THEN LMGB$="0" ELSE LMGB$=MID$(LMGD$,LCSR,1)
- 13880 LMG$=LMX$:LMGDX$=LMGD$:L$(LGC)=LMG$
- 13885 RETURN
- 13890 *LCSRD :LXC=(LX+6*LCSR ):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Disp
- 13895 *LCSRDX:LXC=(LX+6*LCSRX):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Erace
- 13900 LCSRX=LCSR:RETURN
- 13905 *LCSRL :LINE(LXC,LYC+0)-(LXC+CWDT,LYC+12),XOR,LCSRCL,BF:RETURN
- 13910 *LCSRINC :LCSC=0:LCSR=LCSR+1:IF LCSR>=LL THEN LCSR=LL-1:LCSC=+1
- 13915 GOSUB *LCSRD:RETURN
- 13920 *LCSR2INC:LCSC=0:LCSR=LCSR+2:IF LCSR>=LL THEN LCSR=LL-2:LCSC=+1
- 13925 GOSUB *LCSRD:RETURN
- 13930 *LCSRDEC :LCSC=0:LCSR=LCSR-1:IF LCSR<0 THEN LCSR=0 :LCSC=-1
- 13935 GOSUB *LCSRD:RETURN
- 13940 *LCSR2DEC:LCSC=0:LCSR=LCSR-2:IF LCSR<0 THEN LCSR=LCSR+2:LCSC=-1
- 13945 GOSUB *LCSRD:RETURN
- 13950 *LMXDSP :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB# :'v2.0 :'v2.1
- 13955 LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF :'v2.0
- 13960 SYMBOL(LX,LYY),LMX$,.75!,.75!,LC
- 13965 GOSUB *LCSRDX:RETURN
- 13970 *LMBDSP :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB# :'v2.1
- 13975 SYMBOL(LX,LYY),LMX$,.75!,.75!,LB:RETURN :'v2.1
- 13980 '-------------------------------------------------------------------
- 14000 'マウス,ウインドウ関係サブルーチン集 v1.0 1995.05.14
- 14010 '--------------------------------------------------
- 14020 '
- 14030 'マウスカーソル形状セット v1.0 1994.02.13
- 14040 *MCDSET
- 14050 MOUSE 2,MCAND$(MCN),MCDOT$(MCN),MC_X(MCN),MC_Y(MCN)
- 14060 RETURN
- 14070 *MCREAD
- 14080 RESTORE *MCDATA
- 14090 FOR II=1 TO 3
- 14100 FOR JJ=1 TO 32:MCAND$(II)="":MCDOT$(II)="":NEXT JJ
- 14110 READ MC_X(II),MC_Y(II)
- 14120 FOR JJ=1 TO 32:READ MCAND:MCAND$(II)=MCAND$(II)+CHR$(MCAND):NEXT JJ
- 14130 FOR JJ=1 TO 32:READ MCDOT:MCDOT$(II)=MCDOT$(II)+CHR$(MCDOT):NEXT JJ
- 14140 NEXT II
- 14150 RETURN
- 14160 *MCDATA
- 14170 '指 ////////////////////////////////////////
- 14171 DATA 0,0
- 14172 DATA &H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H83,&HFF' and
- 14173 DATA &HC0,&H3F,&HE0,&H07,&HF0,&H01,&HF8,&H00
- 14174 DATA &HF0,&H00,&HE0,&H00,&HE0,&H00,&HE0,&H00
- 14175 DATA &HE0,&H00,&HF0,&H00,&HF8,&H00,&HFC,&H00
- 14176 DATA &H00,&H00,&H60,&H00,&H30,&H00,&H18,&H00' dot
- 14177 DATA &H0C,&H00,&H06,&H80,&H03,&H50,&H01,&HAA
- 14178 DATA &H05,&HFE,&H04,&HFE,&H06,&HFE,&H07,&HFE
- 14179 DATA &H03,&HFF,&H01,&HFF,&H00,&H7F,&H00,&H1F
- 14180 'コーヒー///////////////////////////////////
- 14181 DATA 7,7
- 14182 DATA &HFF,&HFF,&HF2,&H4F,&HE4,&H9F,&HE4,&H9F' and
- 14183 DATA &HE6,&H1F,&HF2,&H4F,&HC0,&H07,&HC0,&H01
- 14184 DATA &HC0,&H06,&HC0,&H06,&HC0,&H05,&HC0,&H03
- 14185 DATA &HE0,&H0F,&H80,&H01,&HC0,&H03,&HE0,&H07
- 14186 DATA &H00,&H00,&H04,&H90,&H09,&H20,&H09,&H20' dot
- 14187 DATA &H08,&HA0,&H04,&H90,&H00,&H00,&H1F,&HF0
- 14188 DATA &H15,&HF0,&H13,&H30,&H15,&H30,&H1F,&HF0
- 14189 DATA &H0F,&HE0,&H00,&H00,&H1F,&HF8,&H00,&H00
- 14190 '待った //////////////////////////////////////
- 14191 DATA 7,7
- 14192 DATA &HF0,&H1F,&HC0,&H07,&H80,&H03,&H80,&H03' and
- 14193 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H00,&H01
- 14194 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H80,&H03
- 14195 DATA &H80,&H03,&HC0,&H07,&HF0,&H1F,&HFF,&HFF
- 14196 DATA &H00,&H00,&H00,&H00,&H07,&HC0,&H1F,&H80' dot
- 14197 DATA &H1F,&H00,&H3E,&H08,&H3C,&H18,&H38,&H38
- 14198 DATA &H30,&H78,&H20,&HF8,&H01,&HF0,&H03,&HF0
- 14199 DATA &H07,&HC0,&H00,&H00,&H00,&H00,&H00,&H00
- 14200 '
- 14210 *MCDRAG 'ドラッグ -----------------------------------------------
- 14220 MOUSE 1,X_M,Y_M,1 :'現在位置にカーソルを設定
- 14225 MD_XB1=W_X1(G):MD_YB1=W_Y1(G) :MD_XC1=W_X1(G):MD_YC1=W_Y1(G) :'旧ウインドウ座標保持
- 14230 MD_XB2=W_X2(G):MD_YB2=W_Y2(G) :MD_XC2=W_X2(G):MD_YC2=W_Y2(G) :'旧ウインドウ座標保持
- 14235 GET@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SW#
- 14238 X1=X_M-W_X1(G)+W_XA(G):X2=X_M+W_XB(G)-W_X2(G):'最大移動域の設定
- 14239 Y1=Y_M-W_Y1(G)+W_YA(G):Y2=Y_M+W_YB(G)-W_Y2(G):'
- 14240 MOUSE 4,X1,Y1,X2,Y2 :'最大移動域の設定
- 14245 GOSUB *MD_WLINED
- 14250 IF MOUSE(2,0)=-1 THEN 14245 :'枠移動
- 14255 LINE(MD_XC1,MD_YC1)-(MD_XC2,MD_YC2),XOR,4,B,&HCCCC :'枠線消去
- 14260 PUT@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SB# :'旧ウインドウ背景表示
- 14265 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB# :'新ウインドウ背景保持
- 14270 PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SW# :'新ウインドウ描画
- 14275 MOUSE 4,0,0,639,479:WAIT SWAIT\4+1:RETURN
- 14280 *MD_WLINED
- 14285 MD_X_M=MOUSE(9) :MD_Y_M=MOUSE(10) :'移動量取得
- 14290 W_X1(G)=W_X1(G)+(MD_X_M):W_Y1(G)=W_Y1(G)+(MD_Y_M):'新座標計算
- 14295 W_X2(G)=W_X2(G)+(MD_X_M):W_Y2(G)=W_Y2(G)+(MD_Y_M)
- 14300 LINE(MD_XC1 ,MD_YC1 )-(MD_XC2 ,MD_YC2 ),XOR,4,B,&HCCCC :'枠線移動
- 14305 LINE(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),XOR,4,B,&HCCCC
- 14310 MD_XC1=W_X1(G):MD_YC1=W_Y1(G)
- 14315 MD_XC2=W_X2(G):MD_YC2=W_Y2(G)
- 14320 RETURN
- 14400 '------------------------------------------------------------------
- 14405 *ボタン座標読み取り
- 14410 RESTORE *ボタン座標:READ SWGN
- 14415 FOR G=1 TO SWGN
- 14420 READ SWN(G), W_X1(G),W_X2(G),W_Y1(G),W_Y2(G), W_XA(G),W_XB(G),W_YA(G),W_YB(G)
- 14425 FOR B=1 TO SWN(G):READ B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B):NEXT B
- 14430 NEXT G
- 14435 RETURN
- 14500 '-----------------------------------------------------------------
- 14505 *BTN_ONOFF:'ボタンON_OFF表示
- 14510 IF BST(G,B)=1 THEN BSC=15:BSB=1:GOTO 14520
- 14515 BSC=1:BSB=15
- 14520 X1=W_X1(G)+B_X1(G,B):X2=W_X1(G)+B_X2(G,B)
- 14521 Y1=W_Y1(G)+B_Y1(G,B):Y2=W_Y1(G)+B_Y2(G,B)
- 14522 CONNECT(X1,Y2)-(X2,Y2)-(X2,Y1),%BSC,PSET
- 14523 CONNECT(X1,Y2)-(X1,Y1)-(X2,Y1),%BSB,PSET
- 14530 IF BSNDOFF=1 THEN 14540 :' WAIT SWAIT\10+1:GOTO 14540
- 14535 IF BST(G,B)=1 THEN SMSGPLAY 0:WAIT SWAIT\5+1
- 14540 BSNDOFF=0:RETURN
- 14600 '-----------------------------------------------------------------
- 14610 *MCSELECT:'マウスボタン選択
- 14620 SWERC=0:SWNO=0 :'リセット
- 14630 *クリック待ち
- 14635 IF CDSPQUE=1 THEN RETURN
- 14640 IF MOUSE(2,0)=-1 THEN 14680 :'左クリック入力待ち
- 14650 IF MOUSE(2,1)=-1 THEN SWNO=-1:RETURN :'右クリックで終了
- 14660 IF MCKEY=1 THEN GOTO 14830 :'MCKEY=1: マウススキャン中断、キー入力受付
- 14670 GOTO *クリック待ち
- 14680 X_M=MOUSE(4,0):Y_M=MOUSE(5,0) :'座標取得
- 14690 FOR IMS=1 TO SWN(G) :'ボタン座標判定
- 14700 IF (X_M>W_X1(G)+B_X1(G,IMS)) AND (X_M<W_X1(G)+B_X2(G,IMS)) ELSE 14730
- 14710 IF (Y_M>W_Y1(G)+B_Y1(G,IMS)) AND (Y_M<W_Y1(G)+B_Y2(G,IMS)) ELSE 14730
- 14720 SWNO=IMS:IMS=SWN(G)+1
- 14730 NEXT IMS
- 14735 WAIT SWAIT\8+1 'FOR II=1 TO 500:NEXT II
- 14740 IF (SWPASS=1) OR (SWNO<>0) THEN 14830
- 14750 IF SWNO=0 THEN
- 14760 GOSUB *MCMIS:SWERC=SWERC+1 '誤指定警告表示
- 14770 IF SWERC>5 THEN
- 14780 MCN=3:GOSUB *MCDSET:MESN=12:GOSUB *SNDMSG '誤指定警告音声案内
- 14790 MCN=1:GOSUB *MCDSET
- 14800 ENDIF
- 14810 ENDIF
- 14820 GOTO *クリック待ち
- 14830 SWPASS=0:SW1T=0:MCKEY=0
- 14840 RETURN
- 14850 *MCMIS
- 14860 MCN=3:GOSUB *MCDSET:WAIT SWAIT\3+1:MCN=1:GOSUB *MCDSET
- 14870 RETURN
- 14880 '
- 14890 '
- 15000 '
- 15010 ' SAVE"TCLOCK.sub" :' 組み込み型 アナログ時計 V1.1
- 15020 ' 1991.05 T.KOMURA
- 15030 '--------------------------------------------------------------------
- 15040 '
- 15220 *時計表示:'///////////////////////////////////
- 15230 XCLK0=579:YCLK0=11:CLKR=9:PI=3.1415!
- 15240 TIMEX$=TIME$:IF DATE$<>DATX$ THEN GOSUB *本日の日付
- 15250 TSC$=MID$(TIMEX$,7,2):SCR=2*PI*(VAL(TSC$)/60)
- 15260 TMN$=MID$(TIMEX$,4,2):MNR=2*PI*(VAL(TMN$)/60)
- 15270 THR$=LEFT$(TIMEX$,2) :HRR=2*PI*((VAL(THR$)*60+VAL(TMN$))/720)
- 15280 GOSUB *短針表示
- 15290 GOSUB *長針表示
- 15300 GOSUB *秒針表示
- 15305 IF DCLOCKF=1 THEN GOSUB *DCLOCKD
- 15310 CLOCKINIT=1:DATX$=DATE$
- 15315 IF CCHGF=0 THEN 15320
- 15316 IF TIME-CCHGT>CCHGINT THEN CDSPQUE=1
- 15320 RETURN
- 15330 '
- 15340 *短針表示
- 15350 XHD1=XCLK0+(CLKR*.6!)*SIN(HRR):XHD2=XCLK0
- 15360 YHD1=YCLK0-(CLKR*.6!)*COS(HRR):YHD2=YCLK0
- 15370 IF CLOCKINIT=0 THEN 15400
- 15380 IF SCR<>0 THEN 15420
- 15390 LINE(XHD1X,YHD1X)-(XHD2X,YHD2X),XOR,6
- 15400 LINE(XHD1 ,YHD1 )-(XHD2 ,YHD2 ),XOR,6
- 15410 XHD1X=XHD1:YHD1X=YHD1:XHD2X=XHD2:YHD2X=YHD2
- 15420 RETURN
- 15430 *長針表示
- 15440 XMD1=XCLK0+(CLKR*.8!)*SIN(MNR):XMD2=XCLK0
- 15450 YMD1=YCLK0-(CLKR*.8!)*COS(MNR):YMD2=YCLK0
- 15460 IF CLOCKINIT=0 THEN 15490
- 15470 IF SCR<>0 THEN 15510
- 15480 LINE(XMD1X,YMD1X)-(XMD2X,YMD2X),XOR,7
- 15490 LINE(XMD1 ,YMD1 )-(XMD2 ,YMD2 ),XOR,7
- 15500 XMD1X=XMD1:YMD1X=YMD1:XMD2X=XMD2:YMD2X=YMD2
- 15510 RETURN
- 15520 *秒針表示
- 15530 XSD1=XCLK0+(CLKR)*SIN(SCR):XSD2=XCLK0:'+(CLKR-10)*SIN(SCR)
- 15540 YSD1=YCLK0-(CLKR)*COS(SCR):YSD2=YCLK0:'-(CLKR-10)*COS(SCR)
- 15550 IF CLOCKINIT=0 THEN 15570
- 15560 LINE(XSD1X,YSD1X)-(XSD2X,YSD2X),XOR,4
- 15570 LINE(XSD1 ,YSD1 )-(XSD2 ,YSD2 ),XOR,4
- 15580 XSD1X=XSD1:YSD1X=YSD1:XSD2X=XSD2:YSD2X=YSD2
- 15590 RETURN
- 15600 '////////////////////////////////////////////////////////////////////
- 15605 ' DIGITAL CLOCK v1.0 1995.05.24 T.Komura
- 15610 *DCLOCKREAD:'プログラム先頭で実施
- 15615 RESTORE *DCLOCKDATA
- 15620 FOR DGII=0 TO 9:FOR DGN=1 TO 7:READ DGP(DGII,DGN):NEXT:NEXT
- 15625 FOR DGII=1 TO 9:READ DGX(DGII),DGY(DGII):NEXT
- 15630 FOR DGII=1 TO 4:READ DGO(DGII):NEXT
- 15635 RETURN
- 15640 *DGCLOCK:'デジタル時計 -------------------------------
- 15645 G=6:SWNOX=SWNO:DGINIT=0:DGFC=15:DGBC=1
- 15650 GOSUB *DCLOCKLOAD:GOSUB *DCLOCKD:DCLOCKF=1
- 15655 *DGMCSEL
- 15660 GOSUB *MCSELECT:'マウスボタン選択
- 15665 IF SWNO=0 THEN *DGMCSEL
- 15670 IF SWNO<0 THEN SWNO=1:'右クリックで終了
- 15675 ' end drag
- 15680 ON SWNO GOTO *DGS01,*DGS02
- 15685 *DGS02:'drag
- 15690 DCLOCKF=0
- 15692 GOSUB *MCDRAG
- 15694 DCLOCKF=1
- 15695 GOTO *DGMCSEL
- 15700 *DGS01:'end
- 15705 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 15710 DCLOCKF=0
- 15715 GOSUB *DCLOCKCLR
- 15720 SWNO=SWNOX
- 15725 RETURN
- 15730 *DCLOCKLOAD
- 15735 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 15740 MOUSE 1,,,0
- 15745 LOAD@ TIFDRV$+"\dclock.tif",(W_X1(G),W_Y1(G)):MOUSE 1,,,1
- 15750 MOUSE 1,,,1:RETURN
- 15760 *DCLOCKCLR
- 15765 PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 15770 RETURN
- 15775 '
- 15780 *DCLOCKD
- 15785 IF DGINIT=1 THEN 15795
- 15790 FOR DGII=1 TO 4:DGM(DGII)=10:NEXT DGII:DGINIT=1
- 15795 DG(1)=VAL(MID$(TIME$,1,1)):DG(2)=VAL(MID$(TIME$,2,1))
- 15800 DG(3)=VAL(MID$(TIME$,4,1)):DG(4)=VAL(MID$(TIME$,5,1))
- 15805 DGPT=1-DGPT
- 15810 FOR DGII=1 TO 4
- 15815 IF DG(DGII)=DGM(DGII) THEN 15840
- 15820 FOR DGJJ=1 TO 7
- 15825 IF DGP(DG(DGII),DGJJ)=1 THEN DGC=DGFC ELSE DGC=DGBC
- 15826 IF DGII=1 AND DG(1)=0 THEN DGC=DGBC
- 15830 PAINT(W_X1(G)+DGX(DGJJ)+DGO(DGII),W_Y1(G)+DGY(DGJJ)),%DGC,0
- 15835 NEXT DGJJ
- 15840 NEXT DGII
- 15841 IF DGPT=1 THEN DGC=10 ELSE DGC=DGBC
- 15842 PAINT(W_X1(G)+DGX(8),W_Y1(G)+DGY(8)),%DGC,0
- 15843 PAINT(W_X1(G)+DGX(9),W_Y1(G)+DGY(9)),%DGC,0
- 15845 FOR DGII=1 TO 4:DGM(DGII)=DG(DGII):NEXT DGII'
- 15850 RETURN
- 15855 '
- 18000 '------------------------------------------------------------------
- 18005 *HKHELP:' Copyrigit(C) T.Komura / HK2 /
- 18010 ' Version 1.0 1994.07.30 / helpプログラム /
- 18011 ' Version 2.0 1995.07.30 HK2ドラッグ対応
- 18015 'メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
- 18016 G=5:SWNOX=SWNO:DOCDC=6:DOCBC=8
- 18020 GOSUB *DOCTIFDSP:GOSUB *DOCFREAD
- 18026 MCN=1:GOSUB *MCDSET
- 18030 GOSUB *DOC初期表示
- 18035 *DC_MSINSEL
- 18040 SWPASS=1:GOSUB *MCSELECT:'マウスボタン選択
- 18042 IF SWNO=0 THEN GOSUB *DC_他エリア判定
- 18043 IF SWNO<0 THEN SWNO=5:'右クリックで終了
- 18045 IF SWNO>7 OR SWNO=0 THEN *DC_MSINSEL
- 18050 IF SWNO=5 THEN GOTO *SDC_05
- 18055 IF SWNO=6 THEN GOTO *SDC_06
- 18060 IF SWNO=7 THEN GOTO *SDC_07
- 18065 GOTO *DOCCTRL
- 18070 *DOCCTRL
- 18075 B=SWNO:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
- 18080 DCCD=SWNO:GOSUB *DOC表示制御
- 18085 B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 18090 GOTO *DC_MSINSEL
- 18095 *SDC_06: GOSUB *MCDRAG :GOTO *DC_MSINSEL
- 18100 *SDC_07:DCCD=5:GOSUB *DOC表示制御:GOTO *DC_MSINSEL
- 18105 *SDC_05:'終了
- 18110 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 18115 PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 18120 DOCCS=0:SWNO=SWNOX
- 18122 RETURN:'///////////////////////////////////////////////////
- 18125 '
- 18130 'sub routine---------------------------------------------
- 18135 *DOCTIFDSP
- 18137 MOUSE 1,,,0
- 18140 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 18145 LOAD@ TIFDRV$+"\hk2help.tif",(W_X1(G),W_Y1(G))
- 18165 MOUSE 1,,,1:GOSUB *DOC名称表示
- 18170 RETURN
- 18175 *DOCFREAD:'helpファイル読み込み
- 18177 MCN=2:GOSUB *MCDSET
- 18180 DOCN=0:OPEN "I",#1,PRGDRV$+"\HELPF"+DOCF$
- 18185 IF EOF(1)=-1 THEN 18200
- 18190 DOCN=DOCN+1:LINE INPUT #1,DOC$(DOCN)
- 18195 GOTO 18185
- 18200 CLOSE #1:RETURN
- 18205 *DOC指定行表示
- 18210 GOSUB *DOCカーソル表示
- 18220 FOR DN=SDN TO EDN
- 18225 XDC=W_X1(G)+8:YDC=W_Y1(G)+27+DCL*12
- 18230 SYMBOL(XDC,YDC),DOC$(DN),.75!,.75!,7
- 18235 DCL=DCL+1
- 18240 NEXT DN:RETURN
- 18245 *DOC初期表示
- 18250 SDN=1:EDN=24:DCL=0:DSP=1:GOSUB *DOC指定行表示
- 18255 RETURN
- 18260 *DOC表示制御:'///////////////////////////////////////
- 18265 ON DCCD GOTO *DCC3,*DCC1,*DCC2,*DCC4,*DCC5
- 18270 *DCC1:'------ 前行
- 18275 DSP=DSP-1 :IF DSP<1 THEN DSP=1 :RETURN
- 18280 SDN=DSP :GOSUB *DOC下シフト
- 18285 EDN=SDN :DCL=0 :GOSUB *DOC指定行表示 :RETURN
- 18290 *DCC2:'------ 次行
- 18295 DSP=DSP+1 :IF DSP+23>DOCN THEN DSP=DSP-1:RETURN
- 18300 SDN=DSP+23: GOSUB *DOC上シフト
- 18305 EDN=SDN :DCL=23:GOSUB *DOC指定行表示 :RETURN
- 18310 *DCC3:'------ 前頁
- 18315 DSP=DSP-24:IF DSP<1 THEN DSP=1
- 18320 GOTO *DCC51
- 18325 *DCC4:'------ 次頁
- 18330 DSP=DSP+24:IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
- 18335 GOTO *DCC51
- 18340 *DCC5:'------ カーソル指定
- 18345 DSP=((INT(DOCN*DOCR))\24)*24+1
- 18350 IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
- 18355 *DCC51
- 18360 SDN=DSP :EDN=SDN+23
- 18365 IF EDN>DOCN THEN EDN=EDN-1:GOTO 18365
- 18370 LINE (W_X1(G)+6,W_Y1(G)+27)-(W_X1(G)+492,W_Y1(G)+27+12*24),PSET,%DOCBC,BF
- 18375 DCL=0:GOSUB *DOC指定行表示 :RETURN
- 18380 '------------------------------------------------------
- 18385 *DOC上シフト
- 18386 X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
- 18390 GET@A(X1,Y1+12*1 )-(X2,Y2+12*24),HLPC#
- 18395 LINE (X1,Y1+12*23)-(X2,Y2+12*24),PSET,%DOCBC,BF
- 18400 PUT@A(X1,Y1 )-(X2,Y2+12*23),HLPC#
- 18405 RETURN
- 18410 *DOC下シフト
- 18411 X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
- 18415 GET@A(X1,Y1 )-(X2,Y2+12*23),HLPC#
- 18420 LINE (X1,Y1 )-(X2,Y2+12*1 ),PSET,%DOCBC,BF
- 18425 PUT@A(X1,Y1+12*1)-(X2,Y2+12*24),HLPC#
- 18430 RETURN
- 18435 *DOCカーソル表示
- 18440 XDC1 =W_X1(G)+500:XDC2=W_X1(G)+511
- 18445 YDC1 =W_Y1(G)+53+INT(233*((DSP-1) /DOCN))
- 18450 YDC2 =W_Y1(G)+53+INT(233*((DSP+23) /DOCN))
- 18451 A=W_Y1(G)+B_Y1(G,3):IF YDC2>=A THEN YDC2=A-1
- 18455 YDC1X=W_Y1(G)+53+INT(233*((DSPX-1) /DOCN))
- 18460 YDC2X=W_Y1(G)+53+INT(233*((DSPX+23)/DOCN))
- 18461 A=W_Y1(G)+B_Y1(G,3):IF YDC2X>=A THEN YDC2X=A-1
- 18465 IF DOCCS=1 THEN 18470 ELSE DOCCS=1:GOTO 18475
- 18470 LINE(XDC1,YDC1X)-(XDC2,YDC2X),XOR,5,BF
- 18475 LINE(XDC1,YDC1 )-(XDC2,YDC2 ),XOR,5,BF
- 18480 DSPX=DSP :RETURN
- 18485 *DOC名称表示
- 18490 XDC=W_X1(G)+427:YDC=W_Y1(G)+7
- 18495 DOCD$=RIGHT$(DOCF$,LEN(DOCF$)-1)
- 18500 SYMBOL(XDC,YDC),DOCD$,.75!,.75!,%DOCDC
- 18505 RETURN
- 18810 *DC_他エリア判定
- 18830 IF (X_M>(W_X1(G)+499) AND X_M<(W_X1(G)+512)) ELSE 18845
- 18835 IF (Y_M>(W_Y1(G)+ 53) AND Y_M<(W_Y1(G)+288)) ELSE 18845
- 18840 DOCR=(Y_M-(W_Y1(G)+53))/235:SWNO=7
- 18845 RETURN
- 18850 '
- 19000 '
- 19010 '//////////////////////////////////////////////////////////////
- 19020 *ERROR:' エラー処理サブルーチン V1.10 1990.11.08 T.Komura
- 19030 '
- 19040 '
- 19050 IF ERR=53 THEN *IOERR
- 19060 IF ERR=63 THEN *FILNOF
- 19070 IF ERR=67 THEN *DSKFUL
- 19080 IF ERR=71 THEN *DSKUNF
- 19090 IF ERR=72 THEN *DSKOFF
- 19100 IF ERR=73 THEN *DSKWP
- 19110 ERMES$="エラー行:"+STR$(ERL)+" エラー番号:"+STR$(ERR)+" 発生"
- 19120 GOSUB *ERMSG
- 19130 STOP
- 19140 '////////// エラー処理
- 19150 *IOERR
- 19160 ERMES$="プリンターが準備されていません。 プリンターをセット後、"
- 19170 GOSUB *ERMSG:RESUME
- 19180 *DSKFUL
- 19190 ERMES$="ディスクが満杯です。 交換後、"
- 19200 GOSUB *ERMSG:RESUME
- 19210 *DSKUNF
- 19220 ERMES$="このディスクは使用出来ません。処理を中断します。 "
- 19230 GOSUB *ERMSG:RESUME
- 19240 *DSKOFF
- 19250 ERMES$="ディスク装置が準備されていません。ディスクをセット後、"
- 19260 GOSUB *ERMSG:RESUME
- 19270 *DSKWP
- 19280 ERMES$="ディスクが書き込み禁止になっています。解除後、"
- 19290 GOSUB *ERMSG:RESUME
- 19300 *FILNOF
- 19310 ERMES$="ファイルが見つかりません。ディスクを交換後、"
- 19320 GOSUB *ERMSG:RESUME
- 19330 '
- 19340 *ERMSG:'////////// エラーメッセージ
- 19355 LINE(0,465)-(639,479),PSET,0,BF
- 19360 SYMBOL(0,465),ERMES$+"[実行]キーを押してね!",.75!,.75!,2
- 19370 COLOR 7,0:MESN=19:GOSUB *SNDMSG
- 19380 ERRA$=INKEY$:IF ERRA$="" THEN 19380
- 19390 IF ERRA$<>CHR$(&H0D) THEN 19380
- 19400 LINE(0,465)-(639,479),PSET,0,BF
- 19410 SYMBOL(0,465),"エラー処理を終わります。",.75!,.75!,6
- 19420 RETURN
- 19430 '
- 19440 '
- 19450 '
- 20000 '------------------------------------------------------------------
- 20010 ' CUSTOM SUB ROUTINE FOR "CALEND.BAS"
- 20020 '------------------------------------------------------------------
- 20100 *表紙表示
- 20110 GOSUB *EVGET
- 20120 LOAD@ TIFDRV$+"\hk2cld.TIF",(0,0)
- 20130 DEF FONT "システム 12ドット"
- 20135 G=1:B=5:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
- 20140 MESN=1:GOSUB *MESDSP
- 20145 INTERVAL ON
- 20150 GET@A(22,156)-(421,392),MAT#
- 20160 RETURN
- 20190 '
- 20290 '
- 20300 *メイン年月表示
- 20302 GOSUB *メイン年表示
- 20304 GOSUB *メイン月表示
- 20306 RETURN
- 20310 *メイン年表示
- 20315 YR=VAL(YR$):NBA$=YR$:NBN=4:GOSUB *数字漢字変換:DSYR$=NBK$
- 20320 LINE(22,100)-(115,117),PSET,0,BF
- 20321 DEF FONT "システム 16ドット"
- 20322 SYMBOL(28,101),DSYR$+"年",1,1,7,,,&H01
- 20324 DEF FONT "システム 12ドット"
- 20325 RETURN
- 20330 *メイン月表示
- 20335 MN=VAL(MN$):NBA$=MN$:NBN=2:GOSUB *数字漢字変換:DSMN$=NBK$
- 20340 LINE(194,95)-(255,121),PSET,0,BF
- 20345 DEF FONT "ゴシック体 24ドット"
- 20350 SYMBOL(192,97),DSMN$,1.5!,1.5!,7
- 20352 DEF FONT "システム 16ドット"
- 20355 SYMBOL(240,101),"月",1,1,7,,PSET,&H01
- 20360 DEF FONT "システム 12ドット":RETURN
- 20390 '
- 20400 *本日のカレンダー表示
- 20410 YR$=TY$:MN$=TM$:MN$=RIGHT$(" "+STR$(VAL(MN$)),2)
- 20420 GOSUB *メイン年月表示
- 20425 *指定カレンダー表示
- 20426 MCN=2:GOSUB *MCDSET
- 20430 GOSUB *メインカレンダー表示
- 20440 GOSUB *サブカレンダー表示
- 20445 MCN=1:GOSUB *MCDSET
- 20446 CDSPF=1
- 20450 RETURN
- 20460 '
- 20470 *メインカレンダー表示
- 20480 X0=40:Y0=160:XP=56:YP=37
- 20485 FOR CLX=0 TO 6:FOR CLY=0 TO 5:CLM(CLX,CLY)=0:NEXT:NEXT
- 20490 INTERVAL OFF
- 20500 DY=1:GOSUB *WEEKN
- 20510 PUT@A(22,156)-(421,392),MAT#
- 20520 FOR IDSP=0 TO MNDN-1:COLOR 7,7
- 20530 CLDD$=RIGHT$(" "+STR$(IDSP+1),2)
- 20540 NBA$=CLDD$:NBN=2:GOSUB *数字漢字変換:CLDD$=NBK$
- 20542 CLX=(WK+IDSP) MOD 7
- 20544 CLY=INT((WK+IDSP)/7)
- 20546 CLM(CLX,CLY)=IDSP+1
- 20550 CLDC=0:CLDX=X0+CLX*XP:CLDY=Y0+CLY*YP
- 20552 IF CLX=0 THEN CLDC=2
- 20554 IF CLX=6 THEN CLDC=1
- 20556 GOSUB *祝日検出
- 20557 DEF FONT "システム 16ドット"
- 20560 SYMBOL(CLDX-10,CLDY),LEFT$(CLDD$,2),1.5!,2,CLDC,,,&H01
- 20561 SYMBOL(CLDX+8,CLDY),RIGHT$(CLDD$,2),1.5!,2,CLDC,,,&H01
- 20562 DEF FONT "システム 12ドット"
- 20565 IF EVEX=0 THEN 20570
- 20566 IF INSTR(CLEV$,"誕生")<>0 THEN MKCL=10 ELSE MKCL=12
- 20567 SYMBOL(CLDX+30,CLDY+2),"★",.5!,.5!,%MKCL
- 20570 NEXT IDSP:COLOR 7,0
- 20580 INTERVAL ON
- 20590 RETURN
- 20595 '
- 20600 *サブカレンダー表示
- 20610 MDEF=-1:YDEF=0:GOSUB *年月日変更
- 20620 GOSUB *前月表示
- 20630 MDEF=+2:YDEF=0:GOSUB *年月日変更
- 20640 GOSUB *次月表示
- 20650 MDEF=-1:YDEF=0:GOSUB *年月日変更
- 20660 RETURN
- 20670 '
- 20700 *前月表示
- 20704 DEF FONT "システム 16ドット"
- 20705 LINE(505,101)-(618,117),PSET,%8,BF
- 20710 SYMBOL(520,102),YR$+"年 "+MN$+"月",1,1,%6
- 20720 X0=438:Y0=128:XP=24:YP=16
- 20725 GOSUB *ミニカレンダー表示
- 20730 RETURN
- 20740 *次月表示
- 20741 DEF FONT "システム 16ドット"
- 20742 LINE(505,253)-(618,269),PSET,%8,BF
- 20745 SYMBOL(520,254),YR$+"年 "+MN$+"月",1,1,%6
- 20750 X0=438:Y0=280:XP=24:YP=16
- 20755 GOSUB *ミニカレンダー表示
- 20760 RETURN
- 20800 *ミニカレンダー表示
- 20810 INTERVAL OFF
- 20815 DY=1:GOSUB *WEEKN
- 20820 LINE(X0,Y0)-(X0+180,Y0+112),PSET,%0,BF
- 20825 FOR IDSP=0 TO MNDN-1
- 20830 CLX=(WK+IDSP) MOD 7
- 20840 CLY=INT((WK+IDSP)/7)
- 20845 CLDD$=RIGHT$(" "+STR$(IDSP+1),2)
- 20850 CLDC=7:CLDX=X0+CLX*XP+12:CLDY=Y0+CLY*YP+8
- 20852 IF CLX=0 THEN CLDC=2
- 20854 IF CLX=6 THEN CLDC=5
- 20856 GOSUB *祝日検出
- 20860 SYMBOL(CLDX,CLDY),CLDD$,1,1,CLDC
- 20870 NEXT IDSP
- 20880 INTERVAL ON
- 20885 DEF FONT "システム 12ドット"
- 20890 RETURN
- 20895 '
- 20900 *マーク追加表示
- 20905 X0=40:Y0=160:XP=56:YP=37:MK$="★"
- 20911 MKYOF=2 :MKCL=12:MKL=40:MKW$=EVENT$
- 20920 IF MKW$=SPACE$(MKL) THEN MKCL=6
- 20925 IF INSTR(MKW$,"誕生")<>0 THEN MKCL=10
- 20930 CLDX=X0+TBX*XP:CLDY=Y0+TBY*YP
- 20945 SYMBOL(CLDX+30,CLDY+MKYOF),MK$,.5!,.5!,%MKCL
- 20950 RETURN
- 20960 '
- 21100 *カレンダー消去
- 21110 CSRINIT=0
- 21120 PUT@A(22,156)-(421,392),MAT#
- 21130 X0=438:Y0=128:LINE(X0,Y0)-(X0+180,Y0+112),PSET,%0,BF
- 21140 X0=438:Y0=280:LINE(X0,Y0)-(X0+180,Y0+112),PSET,%0,BF
- 21150 LINE(505,101)-(618,117),PSET,%8,BF
- 21160 LINE(505,253)-(618,269),PSET,%8,BF
- 21170 LINE(77,404)-(420,421),PSET,%8,BF
- 21180 RETURN
- 21190 '
- 21200 *日カーソル表示
- 21210 XM0=30:XMP=56:YM0=159:YMP=37
- 21220 DCSR=TBY*7+TBX
- 21230 GOSUB *日カーソル消去
- 21240 XM1=XM0+TBX*XMP:YM1=YM0+TBY*YMP
- 21250 XM2=XM1+48 :YM2=YM1+33
- 21255 LINE(XM1+1,YM1+1)-(XM2+1,YM2+1),PSET,0,B
- 21260 LINE(XM1,YM1)-(XM2,YM2),PSET,%15,B
- 21270 DCSRX=DCSR:TBXX=TBX:TBYX=TBY
- 21280 RETURN
- 21290 '
- 21300 *日カーソル消去
- 21310 IF CSRINIT=0 THEN CSRINIT=1:GOTO 21350
- 21320 XM1=XM0+TBXX*XMP:YM1=YM0+TBYX*YMP
- 21330 XM2=XM1+48 :YM2=YM1+33
- 21335 LINE(XM1+1,YM1+1)-(XM2+1,YM2+1),PSET,%6,B
- 21340 LINE(XM1,YM1)-(XM2,YM2),PSET,%6,B
- 21350 RETURN
- 21360 '
- 21400 *行事表示
- 21410 EVENT$=EVDT$(MN,SELDY)
- 21420 LINE(77,404)-(420,421),PSET,%8,BF
- 21430 SYMBOL(80,407),EVENT$,.75!,.75!,7
- 21440 RETURN
- 21450 '
- 21500 *行事入力
- 21510 LX=80:LY=407:LL=40:LG=1:LP=1:LC=6:CBC=8:LINS=1
- 21520 ' LOCATE LX,LY:COLOR LC:PRINT LM$
- 21530 L$(1)=EVENT$:GOSUB *LKEYIN
- 21540 EVENT$=LMG$
- 21550 SYMBOL(LX,LY),EVENT$,.75!,.75!,7
- 21560 RETURN
- 21570 '
- 22000 *祝日検出
- 22005 HOLDY=0:EVEX=0
- 22010 CLEV$=EVDT$(MN,IDSP+1)
- 22020 IF 休日1$="" THEN 22032
- 22025 IF CLEV$<>SPACE$(40) THEN EVEX=1
- 22030 IF INSTR(CLEV$,休日1$)<>0 THEN CLDC=2:HOLDY=(1 AND 代休1)
- 22032 IF 休日2$="" THEN 22040
- 22036 IF INSTR(CLEV$,休日2$)<>0 THEN CLDC=2:HOLDY=(1 AND 代休2)
- 22040 IF CLX=1 AND HOLDYX=1 THEN CLDC=2
- 22070 HOLDYX=HOLDY
- 22080 RETURN
- 22090 '
- 22100 *年間カレンダー用紙
- 22110 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 22115 MOUSE 1,,,0
- 22120 LOAD@ TIFDRV$+"\HK2year.tif",(W_X1(G),W_Y1(G))
- 22122 SYMBOL(W_X1(G)+120,W_Y1(G)+4),YR$+"年",.75!,.75!,0,,,&H01
- 22125 MOUSE 1,,,1
- 22150 RETURN
- 22160 '
- 22200 *年間カレンダー表示
- 22205 X0=W_X1(G)+34:XP=10:Y0=W_Y1(G)+38:YP=16
- 22210 YRMX=YR:MNMX=MN:DYMX=DY:YRX$=YR$:MNX$=MN$:DYX$=DY$
- 22215 DY=1:MCN=2:GOSUB *MCDSET
- 22220 FOR MN=1 TO 12:GOSUB *WEEKN
- 22230 FOR IDSP=0 TO MNDN-1
- 22240 CLX=(WK+IDSP) MOD 7
- 22260 CLDD$=RIGHT$(" "+STR$(IDSP+1),2)
- 22270 CLDC=0:CLDX=X0+(WK+IDSP)*XP:CLDY=Y0+YP*(MN-1)
- 22280 IF CLX=0 THEN CLDC=2
- 22290 IF CLX=6 THEN CLDC=1
- 22300 GOSUB *祝日検出
- 22310 SYMBOL(CLDX,CLDY),CLDD$,.5!,.6!,CLDC
- 22320 NEXT IDSP
- 22330 NEXT MN
- 22335 MCN=1:GOSUB *MCDSET
- 22340 YR=YRMX:MN=MNMX:DY=DYMX:YR$=YRX$:MN$=MNX$:DY$=DYX$
- 22350 RETURN
- 22360 '
- 22400 *年月日表示S
- 22405 IF G=8 THEN XF=83:YF=221:GOTO 22410
- 22406 XF=70
- 22407 IF INO=1 THEN YF=28 ELSE YF=56
- 22410 X0=W_X1(G)+XF:Y0=W_Y1(G)+YF
- 22420 LINE(X0+ 0,Y0)-(X0+ 40,Y0+13),PSET,0,BF
- 22422 LINE(X0+ 70,Y0)-(X0+ 96,Y0+13),PSET,0,BF
- 22424 LINE(X0+112,Y0)-(X0+138,Y0+13),PSET,0,BF
- 22430 SYMBOL(X0+ 2,Y0+2),RIGHT$(STR$(10000+YRI(INO)),4)+"年",.75!,.75!,4
- 22432 SYMBOL(X0+ 72,Y0+2),RIGHT$(STR$(100+MNI(INO)),2) +"月",.75!,.75!,4
- 22434 SYMBOL(X0+114,Y0+2),RIGHT$(STR$(100+DYI(INO)),2) +"日",.75!,.75!,4
- 22480 RETURN
- 22490 '
- 22500 *日数計算用紙
- 22510 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 22515 MOUSE 1,,,0
- 22520 LOAD@ TIFDRV$+"\HK2dcnt.tif",(W_X1(G),W_Y1(G))
- 22525 MOUSE 1,,,1
- 22540 RETURN
- 22550 '
- 22600 *日数計算メイン
- 22620 YRMX=YR:MNMX=MN:DYMX=DY:YRX$=YR$:MNX$=MN$:DYX$=DY$
- 22630 YRI(1)=TY:MNI(1)=TM:DYI(1)=TD
- 22632 IF SELCF=1 THEN YRI(2)=YR:MNI(2)=MN:DYI(2)=SELDY:GOTO 22640
- 22634 YRI(2)=TY:MNI(2)=TM:DYI(2)=TD
- 22640 INO=1:GOSUB *年月日表示S
- 22644 INO=2:GOSUB *年月日表示S
- 22650 *YMDSEL
- 22655 SWPASS=0:G=7:GOSUB *MCSELECT
- 22660 IF SWNO<0 THEN SWNO=2
- 22670 IF SWNO>3 THEN GOSUB *YMDCHG:GOTO *YMDSEL
- 22680 IF SWNO=3 THEN GOSUB *MCDRAG:GOTO *YMDSEL
- 22700 ON SWNO GOTO *SN01,*SN02
- 22710 *SN01:'実行
- 22720 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 22730 GOSUB *日数計算
- 22740 B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 22750 GOTO *YMDSEL
- 22760 *SN02:'取消
- 22770 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 22780 YR=YRMX:MN=MNMX:DY=DYMX:YR$=YRX$:MN$=MNX$:DY$=DYX$
- 22790 RETURN
- 22840 '
- 22900 *YMDCHG
- 22910 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 22920 BTCD=SWNO-3:INO=1
- 22930 IF G=8 THEN 22940
- 22935 IF BTCD>10 THEN INO=2:BTCD=BTCD-10
- 22940 ON BTCD GOTO *Y01,*Y02,*Y03,*Y04,*Y05,*Y06,*Y07,*Y08,*Y09,*Y10
- 22960 *Y01:YDEF=+1 :MDEF=0 :DDEF=0 :GOTO *Y50
- 22961 *Y02:YDEF=-1 :MDEF=0 :DDEF=0 :GOTO *Y50
- 22962 *Y03:YDEF=+10:MDEF=0 :DDEF=0 :GOTO *Y50
- 22963 *Y04:YDEF=-10:MDEF=0 :DDEF=0 :GOTO *Y50
- 22964 *Y05:YDEF=0 :MDEF=+1:DDEF=0 :GOTO *Y50
- 22965 *Y06:YDEF=0 :MDEF=-1:DDEF=0 :GOTO *Y50
- 22966 *Y07:YDEF=0 :MDEF=0 :DDEF=+1 :GOTO *Y50
- 22967 *Y08:YDEF=0 :MDEF=0 :DDEF=-1 :GOTO *Y50
- 22968 *Y09:YDEF=0 :MDEF=0 :DDEF=+10:GOTO *Y50
- 22969 *Y10:YDEF=0 :MDEF=0 :DDEF=-10:GOTO *Y50
- 22980 *Y50
- 22990 YR=YRI(INO):MN=MNI(INO):DY=DYI(INO)
- 23000 GOSUB *年月日変更
- 23010 YRI(INO)=YR:MNI(INO)=MN:DYI(INO)=DY
- 23020 GOSUB *年月日表示S
- 23030 B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 23040 RETURN
- 23090 '
- 23200 *誕生日入力
- 23210 YR=YRI(1):MN=MNI(1):DY=DYI(1)
- 23240 GOSUB *WEEKN:BIRTH#=YDN#
- 23250 GOSUB *BTPUT
- 23280 YR=YRMX:MN=MNMX:DY=1
- 23290 GOSUB *WEEKN:MNB#=YDN#
- 23300 RETURN
- 23310 '
- 23350 *バイオリズム用紙
- 23360 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 23362 MOUSE 1,,,0
- 23365 LOAD@ TIFDRV$+"\hk2BIO.TIF",(W_X1(G),W_Y1(G))
- 23367 MOUSE 1,,,1
- 23368 GET@A(W_X1(G)+36,W_Y1(G)+30)-(W_X1(G)+408,W_Y1(G)+213),BIOD#
- 23370 SYMBOL(W_X1(G)+105,W_Y1(G)+4),YR$+"年 "+MN$+"月",.75!,.75!,0,,,&H01
- 23380 RETURN
- 23390 '
- 23400 *バイオリズム表示
- 23410 TTLD#=MNB#-BIRTH# ' 生まれてから今日までの日数
- 23415 PUT@A(W_X1(G)+36,W_Y1(G)+30)-(W_X1(G)+408,W_Y1(G)+213),BIOD#
- 23420 '身体 感情 知性
- 23430 J=TTLD# MOD 23:K=TTLD# MOD 28:L=TTLD# MOD 33
- 23440 ' ---------------- グラフ表示
- 23450 JI=(J-2)*360/23:KI=(K-2)*360/28:LI=(L-2)*360/33
- 23460 FOR N%=0 TO 528 STEP 4
- 23470 X=W_X1(G)+40+N%*.68!
- 23480 W=W_Y1(G)+131-SIN(.01745!*JI+.01745!*N%*.97826!)*80
- 23490 IF N%<>0 THEN LINE(X,W)-(XX,WX),PSET,1
- 23500 Y=W_Y1(G)+131-SIN(.01745!*KI+.01745!*N%*.80357!)*80
- 23510 IF N%<>0 THEN LINE(X,Y)-(XX,YX),PSET,2
- 23520 Z=W_Y1(G)+131-SIN(.01745!*LI+.01745!*N%*.68182!)*80
- 23530 IF N%<>0 THEN LINE(X,Z)-(XX,ZX),PSET,4
- 23535 XX=X:WX=W:YX=Y:ZX=Z
- 23540 NEXT
- 23545 IF SELCF=0 THEN 23580
- 23550 X=W_X1(G)+40+(SELDY-1)*12:Y=W_Y1(G)
- 23560 LINE(X,Y+46)-(X,Y+211),PSET,6
- 23565 LINE(X-5,Y+35)-(X+5,Y+45),XOR,6,BF
- 23580 RETURN
- 23590 '
- 23600 *メモ一覧用紙
- 23610 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 23612 MOUSE 1,,,0
- 23615 LOAD@ TIFDRV$+"\hk2event.TIF",(W_X1(G),W_Y1(G))
- 23618 MOUSE 1,,,1
- 23620 SYMBOL(W_X1(G)+80,W_Y1(G)+4),YR$+"年 "+MN$+"月",.75!,.75!,0,,,&H01
- 23630 RETURN
- 23640 '
- 23650 *用紙消去
- 23660 PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 23670 RETURN
- 23680 '
- 23700 *バイオリズムメイン
- 23705 YRMX=YR:MNMX=MN:DYMX=DY:YRX$=YR$:MNX$=MN$:DYX$=DY$
- 23710 GOSUB *BTCHK
- 23715 IF BTCHK=0 THEN YRI(1)=1958:MNI(1)=2:DYI(1)=4
- 23720 INO=1:GOSUB *年月日表示S
- 23730 *BIOSEL
- 23732 SWPASS=0:G=8:GOSUB *MCSELECT
- 23734 IF SWNO<0 THEN SWNO=2
- 23736 IF SWNO>3 THEN GOSUB *YMDCHG:GOTO *BIOSEL
- 23738 IF SWNO=3 THEN GOSUB *MCDRAG:GOTO *BIOSEL
- 23740 ON SWNO GOTO *BI01,*BI02
- 23750 *BI01:'実行
- 23752 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 23754 GOSUB *誕生日入力
- 23755 GOSUB *バイオリズム表示
- 23756 B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
- 23758 GOTO *BIOSEL
- 23770 *BI02:'取消
- 23772 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 23774 YR=YRMX:MN=MNMX:DY=DYMX:YR$=YRX$:MN$=MNX$:DY$=DYX$
- 23776 RETURN
- 23790 '
- 23800 *行事一覧表示メイン
- 23810 MESN=16:GOSUB *MESDSP
- 23820 MDAR=1:DYMX=DY
- 23825 B=MDAR:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
- 23835 GOSUB *行事一覧表示
- 23840 G=4:GOSUB *MCSELECT
- 23842 IF SWNO<0 THEN SWNO=4
- 23843 IF SWNO=5 THEN GOSUB *MCDRAG:GOTO 23840
- 23850 ON SWNO GOTO *SE1,*SE1,*SE1,*SE2
- 23860 *SE1:IF SWNO=MDAR THEN 23840
- 23862 B=MDAR:BST(G,B)=0:GOSUB *BTN_ONOFF
- 23864 MDAR=SWNO
- 23866 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 23868 GOTO 23835
- 23870 *SE2:DY=DYMX
- 23875 B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 23880 RETURN
- 23890 '
- 24000 *日数計算
- 24020 X1=W_X1(G)+71 :Y1=W_Y1(G)+83
- 24025 X2=W_X1(G)+234:Y2=W_Y1(G)+110
- 24050 LINE(X1,Y1)-(X2,Y2),PSET,%8,BF
- 24090 YR=YRI(1):MN=MNI(1):DY=DYI(1)
- 24100 GOSUB *WEEKN:SDAT#=YDN#
- 24120 YR=YRI(2):MN=MNI(2):DY=DYI(2)
- 24140 GOSUB *WEEKN:EDAT#=YDN#
- 24150 DNN#=ABS(EDAT#-SDAT#)
- 24160 SYMBOL(X1+2,Y1),"開始日~終了日:"+STR$(DNN#)+"日",.75!,.75!,7
- 24170 DNNH#=DNN#*24
- 24180 SYMBOL(X1+2,Y1+15),"時間換算:"+STR$(DNNH#)+"時間",.75!,.75!,7
- 24200 RETURN
- 24210 '
- 24220 *日数計算消去
- 24240 LOCATE 10,21:PRINT SPACE$(40)
- 24245 LOCATE 10,21:COLOR 7:PRINT EVENT$
- 24270 RETURN
- 24280 '
- 24400 *行事一覧表示
- 24405 X0=W_X1(G)+11:Y0=W_Y1(G)+28:YP=17
- 24410 FOR II=0 TO 10:Y=Y0+II*YP
- 24411 LINE(X0,Y)-(X0+53, Y+11),PSET,%5,BF
- 24412 LINE(X0+64,Y)-(X0+314,Y+11),PSET,%6,BF
- 24413 NEXT II
- 24415 IF MDAR=3 THEN MDL=11 ELSE MDL=10
- 24420 SD=(MDAR-1)*10+1:ED=SD+MDL-1:MDL=0
- 24430 FOR DY=SD TO ED:CL=0
- 24440 GOSUB *週検索:IF CW=5 THEN CW=1
- 24445 IF EVDT$(MN,DY)<>SPACE$(40) THEN EVDSP$=EVDT$(MN,DY):GOTO 24450
- 24446 EVDSP$="":CL=1
- 24450 DEF FONT "システム 12ドット"
- 24452 SYMBOL(X0 ,Y0+ MDL *YP),RIGHT$(" "+STR$(DY),2)+"日",.75!,.75!,0
- 24453 SYMBOL(X0+30,Y0+ MDL *YP),WKM$,.75!,.75!,CW
- 24454 SYMBOL(X0+64,Y0+ MDL *YP),EVDSP$,.75!,.75!,CL
- 24458 MDL=MDL+1
- 24459 IF DY=MNDN THEN DY=ED+1
- 24460 NEXT DY
- 24470 RETURN
- 24480 '
- 25000 *ガイド表示
- 25010 LINE(302,30)-(414,46),PSET,0,BF
- 25015 LX=304:LY=32
- 25020 IF GMCD=0 THEN RETURN
- 25030 ON GMCD GOTO *GM1,*GM2,*GM3,*GM4,*GM5
- 25040 '
- 25050 *GM1:SYMBOL(LX,LY),"年間カレンダ-表示",.75!,.75!,4:RETURN
- 25060 *GM2:SYMBOL(LX,LY)," 行事一覧表示 ",.75!,.75!,4:RETURN
- 25070 *GM3:SYMBOL(LX,LY)," 日 数 計 算 ",.75!,.75!,4:RETURN
- 25080 *GM4:SYMBOL(LX,LY)," バイオリズム ",.75!,.75!,4:RETURN
- 25090 *GM5:SYMBOL(LX,LY),"指定日の家計簿記入",.75!,.75!,4:RETURN
- 30480 '
- 30500 *数字漢字変換
- 30505 NBK$=""
- 30510 FOR INBK=1 TO NBN
- 30512 NBAX$=MID$(NBA$,INBK,1)
- 30514 IF NBAX$=" " THEN NBK$=NBK$+" ":GOTO 30530
- 30520 NBK$=NBK$+KNJ$(&H2330+VAL(NBAX$))
- 30530 NEXT INBK
- 30540 RETURN
- 30580 '
- 30820 *カレンダー選択判定
- 30830 XM0=30:XMP=56:YM0=159:YMP=37:TBMSEL=0
- 30840 TBX=INT((X_M-XM0-1)/XMP):TBY=INT((Y_M-YM0-1)/YMP)
- 30850 IF TBX<0 OR TBX>6 THEN 30885
- 30860 IF TBY<0 OR TBY>5 THEN 30885
- 30865 IF CLM(TBX,TBY)=0 THEN 30885
- 30870 TBMSEL=1:PLAY "o5l16ec"
- 30875 WAIT SWAIT/5
- 30880 RETURN
- 30885 MCN=3:GOSUB *MCDSET:PLAY "o6v8l16ce"
- 30886 WAIT SWAIT:MCN=1:GOSUB *MCDSET:RETURN
- 30890 '
- 31000 *FADEOUT:CLS 1:CONSOLE 0,24,0
- 31010 FOR II=0 TO 15
- 31020 PALETTE II,[16*II,16*II,16*II]
- 31030 NEXT II
- 31040 FOR II=0 TO 255 STEP 5
- 31050 FOR JJ=0 TO 15:KK=16*JJ+II*(255-16*JJ)/255
- 31054 PALETTE JJ,[KK,KK,KK]
- 31056 NEXT JJ
- 31060 NEXT II
- 31070 RETURN
- 31080 '
- 31200 *確認
- 31205 G=3:SWNOX=SWNO:MOUSE 1,,,0
- 31210 GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 31220 LOAD@ TIFDRV$+"\CAUTION2.TIF",(W_X1(G),W_Y1(G))
- 31225 PLAY "o6l4ce":MOUSE 1,,,1
- 31230 FOR II=1 TO 4
- 31232 SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,6
- 31234 WAIT SWAIT\10+1
- 31236 LINE(W_X1(G)+102,W_Y1(G)+9)-(W_X1(G)+102+6*39,W_Y1(G)+9+12),PSET,%9,BF
- 31237 WAIT SWAIT\10+1
- 31238 NEXT II
- 31239 SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,7
- 31240 MESN=19:GOSUB *SNDMSG:'28chr
- 31241 G=3:GOSUB *MCSELECT'ボタン選択
- 31242 IF SWNO<0 THEN SWNO=2
- 31243 IF SWNO=3 THEN GOSUB *MCDRAG:GOTO 31241
- 31244 IF SWNO=0 THEN 31241
- 31245 G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
- 31260 WAIT SWAIT\5+1
- 31270 PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
- 31272 CAUNO=SWNO:SWNO=SWNOX
- 31275 RETURN
- 31280 '
- 32000 '
- 32010 *ABOUT表示
- 32020 X1A=146:Y1A=150:XPA=326:YPA=100
- 32030 MOUSE 1,,,0
- 32040 GET@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
- 32050 LOAD@ TIFDRV$+"\hk2logo.tif",(X1A,Y1A)
- 32060 MOUSE 1,,,1
- 32070 CMES$=ABOUT$:GOSUB *確認
- 32080 PUT@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
- 32090 RETURN
- 32100 '
- 34000 *PATHMAKE:'---------- パス作成 -------------------------------
- 34005 DRV$=LEFT$(XDRV$,2)
- 34010 IF LEN(XDRV$)=3 THEN DRV$=LEFT$(XDRV$,2):PATH$="":GOTO 34020
- 34015 PATH$=RIGHT$(XDRV$,LEN(XDRV$)-2)
- 34020 RETURN
- 34030 '
- 35000 *EVOPN:'行事データファイルオープン
- 35005 XDRV$=PRGDRV$:GOSUB *PATHMAKE
- 35020 FLN$=DRV$+"(40)"+PATH$+"\EVENT.DAT"
- 35030 OPEN "R",#1,FLN$
- 35040 FIELD #1,40 AS EV$
- 35060 RETURN
- 35070 '
- 35400 *DTSAVE:'---------- 日付ジャンプデータファイル作成
- 35402 GOSUB *DTCHK
- 35405 XDRV$=RAMDRV$:GOSUB *PATHMAKE
- 35420 FLN$=DRV$+PATH$+"\SRCjump.DAT"
- 35430 OPEN "O",#1,FLN$
- 35440 PRINT #1,DT$:CLOSE
- 35450 RETURN
- 35460 '
- 35500 *DTCHK :'---------- 日付ジャンプデータファイルチェック
- 35505 XDRV$=RAMDRV$:GOSUB *PATHMAKE
- 35520 FLN$=DRV$+"(1)"+PATH$+"\SRCjump.DAT"
- 35530 OPEN "R",#1,FLN$:FIELD #1,1 AS X$
- 35540 CLOSE :KILL DRV$+PATH$+"\SRCjump.DAT"
- 35550 RETURN
- 35560 '
- 36000 *EVGET:'行事データファイル読み込み
- 36010 GOSUB *EVOPN:R=1
- 36020 FOR II=1 TO 12:FOR JJ=1 TO 32
- 36030 GET #1,R
- 36040 EVDT$(II,JJ)=EV$
- 36050 R=R+1
- 36060 NEXT JJ:NEXT II
- 36070 CLOSE
- 36080 RETURN
- 36090 '
- 36100 *EVPUT:'行事データファイル書き込み
- 36110 GOSUB *EVOPN:R=1
- 36120 R=(MN-1)*32+SELDY
- 36130 LSET EV$=EVENT$
- 36140 PUT #1,R
- 36170 CLOSE
- 36180 RETURN
- 36190 '
- 36700 *BTOPN:'誕生日データファイルオープン
- 36705 XDRV$=PRGDRV$:GOSUB *PATHMAKE
- 36720 FLN$=DRV$+"(8)"+PATH$+"\BIRTH.DAT"
- 36730 OPEN "R",#3,FLN$
- 36740 FIELD #3,4 AS BYR$,2 AS BMN$,2 AS BDY$
- 36760 RETURN
- 36770 '
- 36800 *BTCHK
- 36810 GOSUB *BTOPN
- 36820 IF LOF(3)=0 THEN BTCHK=0:GOTO 36850
- 36830 BTCHK=1
- 36840 GET #3,1
- 36845 YRI(1)=VAL(BYR$)
- 36846 MNI(1)=VAL(BMN$)
- 36847 DYI(1)=VAL(BDY$)
- 36850 CLOSE
- 36860 RETURN
- 36870 '
- 36900 *BTPUT
- 36910 GOSUB *BTOPN
- 36920 LSET BYR$=RIGHT$(STR$(YRI(1)+10000),4)
- 36922 LSET BMN$=RIGHT$(STR$(MNI(1)+100),2)
- 36924 LSET BDY$=RIGHT$(STR$(DYI(1)+100),2)
- 36930 PUT #3,1
- 36940 CLOSE
- 36950 RETURN
- 36960 '
- 39000 '//////////////////////////////////////////////////
- 39010 *CONFIGファイルチェック' V1.4 1994.06.19
- 39020 ' FOR HK T.Komura
- 39030 CFLNO=0
- 39040 OPEN "R",#1,"(1)HK.CFG"
- 39050 FIELD #1,1 AS D$
- 39060 IF LOF(1)=0 THEN *CFGFE1
- 39070 CLOSE
- 39080 OPEN "I",#1,"HK.CFG"
- 39085 GOSUB *CFGREAD:ABOUT$=CFG$ :'-- about$ [0]
- 39090 GOSUB *CFGREAD:PRGDRV$=CFG$:'-- PRGDRV$ [1]
- 39092 FILES ,C,ARY&:N=ARY&(1):DIM ARY$(N)
- 39094 FILES ,N,ARY$:PRGDRV$=ARY$(0):ERASE ARY$
- 39100 GOSUB *CFGREAD:DATDRV$=CFG$:'-- DATDRV$ [2]
- 39110 GOSUB *CFGREAD:RAMDRV$=CFG$:'-- RAMDRV$ [3]
- 39120 TIFDRV$=PRGDRV$+"\TIFF" :'-- TIFDRV$ [4]
- 39130 GOSUB *CFGREAD:FMBDRV$=CFG$:'-- FMBDRV$ [5]
- 39140 GOSUB *CFGREAD :'-- SNDMF [6]
- 39150 IF LEFT$(CFG$,5)<>"SNDMF" THEN *CFGFE2
- 39160 SNDMF=VAL(RIGHT$(CFG$,1))
- 39170 GOSUB *CFGREAD:SNDDRV$=CFG$:'-- SNDDRV$ [7]
- 39180 GOSUB *CFGREAD :'-- SWAIT [8]
- 39190 IF LEFT$(CFG$,4)<>"WAIT" THEN *CFGFE2
- 39200 SWAIT=VAL(RIGHT$(CFG$,LEN(CFG$)-5))
- 39210 FOR II=1 TO 15 :' [9]-[10]
- 39220 GOSUB *CFGREAD:CFI$(II)=CFG$
- 39230 NEXT II
- 39240 GOSUB *CFGREAD :'-- DICIF [11]
- 39250 IF LEFT$(CFG$,5)<>"DICIF" THEN *CFGFE2
- 39260 DICIF=VAL(RIGHT$(CFG$,1))
- 39270 GOSUB *CFGREAD :'-- DICSF [11]
- 39280 IF LEFT$(CFG$,5)<>"DICSF" THEN *CFGFE2
- 39290 DICSF=VAL(RIGHT$(CFG$,1))
- 39300 GOSUB *CFGREAD:DICDRV$=CFG$:'-- DICDRV$ [12]
- 39310 GOSUB *CFGREAD :'-- taxr$ [13]
- 39320 IF LEFT$(CFG$,4)<>"TAXR" THEN *CFGFE2
- 39330 TAXR$=RIGHT$(CFG$,LEN(CFG$)-5)
- 39340 GOSUB *CFGREAD :'-- CALCF [14]
- 39350 IF LEFT$(CFG$,5)<>"CALCF" THEN *CFGFE2
- 39360 CALCF=VAL(RIGHT$(CFG$,1))
- 39370 GOSUB *CFGREAD :'--SDAY [15]
- 39380 IF LEFT$(CFG$,4)<>"SDAY" THEN *CFGFE2
- 39390 SDAY=VAL(RIGHT$(CFG$,2))
- 39400 SDAY$=RIGHT$(STR$(100+SDAY),2)
- 39410 IF SDAY>0 THEN MOFF=0 ELSE MOFF=-1
- 39420 GOSUB *CFGREAD :'-- SSYMD$ [16]
- 39430 IF LEFT$(CFG$,5)<>"SSYMD" THEN *CFGFE2
- 39440 SSYMD$=RIGHT$(CFG$,8)
- 39450 CLOSE
- 39460 RETURN
- 39470 *CFGREAD:'////////////////////////////////////
- 39480 IF EOF(1)<>0 THEN *CFGFE3
- 39490 LINE INPUT #1,CFG$:CFLNO=CFLNO+1
- 39500 IF LEFT$(CFG$,1)="/" THEN 39480
- 39510 RETURN
- 39520 '------------------------------------------------------------------
- 39530 *CFGFE1
- 39540 CFE$="HK.CFG ファイルが見当たりません。 家計簿を終了します。"
- 39550 GOTO *CFGFEP
- 39560 *CFGFE2
- 39570 CFE$="HK.CFGファイル 行番号"+STR$(CFLNO)+"の内容に誤りがあります。 家計簿を終了します。"
- 39580 GOTO *CFGFEP
- 39590 *CFGFE3
- 39600 CFE$="HK.CFG ファイルの項目に不足があります。 家計簿を終了します。"
- 39610 GOTO *CFGFEP
- 39620 '-------------------------------------------------------------------
- 39630 *CFGFEP
- 39640 LOCATE 2,23:COLOR 6:PRINT CFE$;
- 39650 CLOSE :WAIT 100
- 39660 STOP
- 39670 '///////////////////////////////////////////////////////////////////
- 40000 *ボタン座標:'-------------------------------------------------------
- 40010 DATA 8 'SWGN スイッチグループ数
- 40020 '/////////////////////////////
- 40030 '-------------------- [G1] メインスイッチグループ
- 40040 ' SWN(G),SMX,SMY,SMW
- 40050 DATA 26 :'ボタン個数
- 40060 ' X1 ,X2 ,Y1 ,Y2
- 40070 DATA 000,639,000,479 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 40080 DATA 000,000,000,000 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 40090 '--------------------
- 40100 ' XB1 XB2 YB1 YB2
- 40110 DATA 0,123, 0, 22 ' HK2 1
- 40120 DATA 124,168, 5, 22 '記 入 2
- 40130 DATA 169,212, 5, 22 '検 索 3
- 40140 DATA 213,256, 5, 22 '分 析 4
- 40150 DATA 257,300, 5, 22 'カレンダー 5
- 40160 DATA 301,344, 5, 22 '設 定 6
- 40170 DATA 444,567, 0, 22 '日 付 7
- 40180 DATA 568,591, 0, 22 'clock 8
- 40190 DATA 592,615, 0, 22 'help 9
- 40200 DATA 616,639, 0, 22 'END 10
- 40210 '
- 40220 DATA 125,168, 28, 47 'jump 11
- 40230 DATA 213,234, 28, 47 '年間 12
- 40240 DATA 235,256, 28, 47 '行事 13
- 40250 DATA 257,278, 28, 47 '日数 14
- 40260 DATA 279,300, 28, 47 'バイオ 15
- 40270 DATA 544,591, 28, 54 '実行 16
- 40280 DATA 592,639, 28, 54 '取消 17
- 40290 '
- 40300 DATA 117,134, 95,108 '年up 18
- 40310 DATA 117,134,109,122 '年dn 19
- 40320 DATA 135,168, 95,108 '年up10 20
- 40330 DATA 135,168,109,122 '年dn10 21
- 40340 '
- 40350 DATA 257,290, 95,108 '月up 22
- 40360 DATA 257,290,109,122 '月dn 23
- 40370 DATA 438,503,101,117 '前月 24
- 40380 DATA 438,503,253,269 '次月 25
- 40390 DATA 22, 75,404,422 '行事 26
- 40400 '
- 41000 '-------------------- [G2] 年間カレンダースイッチグループ
- 41010 ' SWN(G),SMX,SMY,SMW
- 41020 DATA 2 :'ボタン個数
- 41030 ' X1 ,X2 ,Y1 ,Y2
- 41040 DATA 100,513,150,382 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 41050 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 41060 '--------------------
- 41070 ' XB1 XB2 YB1 YB2
- 41080 DATA 395,413, 0, 18 'cansel------ 1
- 41100 DATA 3, 16, 3, 16 'drag 2
- 41110 '
- 42000 '-------------------- スイッチグループ[3] 確認
- 42010 DATA 3 :'ボタン個数
- 42020 ' X1 ,X2 ,Y1 ,Y2
- 42030 DATA 106,522,258,287 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 42040 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 42050 '--------------------
- 42060 ' XB1 XB2 YB1 YB2
- 42070 DATA 338,369, 6, 23 ' OK 01
- 42080 DATA 370,401, 6, 23 ' NG 02
- 42090 DATA 8, 27, 5, 24 'drag
- 42100 '
- 42110 '
- 42120 '-------------------- スイッチグループ(4) 行事
- 42130 DATA 5 :'ボタン個数
- 42140 ' X1 ,X2 ,Y1 ,Y2
- 42150 DATA 150,485,150,371 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 42160 DATA 0,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 42170 ' XB1 XB2 YB1 YB2 SWM$ SMC
- 42180 DATA 209,244, 0, 18 ' 上旬
- 42190 DATA 245,280, 0, 18 ' 中旬
- 42200 DATA 281,316, 0, 18 ' 下旬
- 42210 DATA 317,335, 0, 18 ' exit
- 42220 DATA 3, 16, 3, 16 ' drag
- 42290 '
- 42400 '-------------------- スイッチグループ(5) Helpグループ
- 42410 DATA 6 :'ボタン個数
- 42420 ' X1 ,X2 ,Y1 ,Y2
- 42430 DATA 60,577,100,421 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 42440 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 42450 '
- 42460 ' XB1 XB2 YB1 YB2 SWM$ SMC SWNO.
- 42470 DATA 499,512, 25, 38 '前頁
- 42480 DATA 499,512, 39, 52 '前行
- 42490 DATA 499,512,289,302 '次行
- 42500 DATA 499,512,303,316 '次頁
- 42510 DATA 499,512, 6, 19 '終了
- 42520 DATA 6, 17, 7, 18 'drag
- 42530 '
- 42540 '-------------------- スイッチグループ[6] デジタル時計
- 42550 DATA 2 :'ボタン個数
- 42560 ' X1 ,X2 ,Y1 ,Y2
- 42570 DATA 46,607,100,306 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 42580 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 42590 '--------------------
- 42600 ' XB1 XB2 YB1 YB2 SWM$ SMC
- 42610 DATA 543,561, 0, 18 ' end 01
- 42620 DATA 3, 16, 3, 16 ' drag 02
- 42630 '
- 43030 '-------------------- [G7] 日数計算スイッチグループ
- 43040 ' SWN(G),SMX,SMY,SMW
- 43050 DATA 23 :'ボタン個数
- 43060 ' X1 ,X2 ,Y1 ,Y2
- 43070 DATA 150,393,150,269 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 43080 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 43090 '--------------------
- 43100 ' XB1 XB2 YB1 YB2
- 43110 DATA 172,207, 0, 18 '実行 1
- 43120 DATA 208,243, 0, 18 '取消 2
- 43130 DATA 3, 16, 3, 16 'drag 3
- 43140 '
- 43150 DATA 111,124, 26, 35 '年up 4
- 43160 DATA 111,124, 36, 45 '年dn 5
- 43170 DATA 125,138, 26, 35 '年+10 6
- 43180 DATA 125,138, 36, 45 '年-10 7
- 43190 DATA 167,180, 26, 35 '月up 8
- 43200 DATA 167,180, 36, 45 '月dn 9
- 43220 DATA 209,222, 26, 35 '日up 10
- 43230 DATA 209,222, 36, 45 '日dn 11
- 43240 DATA 223,236, 26, 35 '日+10 12
- 43245 DATA 223,236, 36, 45 '日-10 13
- 43246 '
- 43250 DATA 111,124, 54, 63 '年up 14
- 43260 DATA 111,124, 64, 73 '年dn 15
- 43270 DATA 125,138, 54, 63 '年+10 16
- 43280 DATA 125,138, 64, 73 '年-10 17
- 43290 DATA 167,180, 54, 63 '月up 18
- 43300 DATA 167,180, 64, 73 '月dn 19
- 43320 DATA 209,222, 54, 63 '日up 20
- 43330 DATA 209,222, 64, 73 '日dn 21
- 43340 DATA 223,236, 54, 63 '日+10 22
- 43345 DATA 223,236, 64, 73 '日-10 23
- 43346 '
- 43530 '-------------------- [G8] バイオリズムスイッチグループ
- 43540 ' SWN(G),SMX,SMY,SMW
- 43550 DATA 13 :'ボタン個数
- 43560 ' X1 ,X2 ,Y1 ,Y2
- 43570 DATA 100,513,150,395 :' ウィンドウ座標 W_X1,W_X2,W_Y1,W_Y2
- 43580 DATA 000,639,023,460 :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
- 43590 '--------------------
- 43600 ' XB1 XB2 YB1 YB2
- 43610 DATA 342,377, 0, 18 '実行 1
- 43620 DATA 378,413, 0, 18 '取消 2
- 43630 DATA 3, 16, 3, 16 'drag 3
- 43640 '
- 43650 DATA 124,137,219,228 '年up 4
- 43660 DATA 124,137,229,238 '年dn 5
- 43670 DATA 138,151,219,228 '年+10 6
- 43680 DATA 138,151,229,238 '年-10 7
- 43690 DATA 180,193,219,228 '月up 8
- 43700 DATA 180,193,229,238 '月dn 9
- 43720 DATA 222,236,219,228 '日up 10
- 43730 DATA 222,236,229,238 '日dn 11
- 43740 DATA 237,249,219,228 '日+10 12
- 43745 DATA 237,249,229,238 '日-10 13
- 43746 '
- 50290 *DCLOCKDATA
- 50300 ' 1,2,3,4,5,6,7
- 50310 DATA 1,1,1,1,1,1,0 '0 (1)
- 50320 DATA 0,1,1,0,0,0,0 '1 ---
- 50330 DATA 1,1,0,1,1,0,1 '2 | |(2)
- 50340 DATA 1,1,1,1,0,0,1 '3 (6)|(7)| ●(8)
- 50350 DATA 0,1,1,0,0,1,1 '4 ---
- 50360 DATA 1,0,1,1,0,1,1 '5 | |(3) ●(9)
- 50370 DATA 1,0,1,1,1,1,1 '6 (5)| |
- 50380 DATA 1,1,1,0,0,0,0 '7 ---
- 50390 DATA 1,1,1,1,1,1,1 '8 (4)
- 50400 DATA 1,1,1,1,0,1,1 '9
- 50410 ' dgx,dgy
- 50420 DATA 80, 40 '(1)
- 50430 DATA 120, 70 '(2)
- 50440 DATA 110,140 '(3)
- 50450 DATA 80,180 '(4)
- 50460 DATA 40,140 '(5)
- 50470 DATA 50, 70 '(6)
- 50480 DATA 80,100 '(7)
- 50490 DATA 280, 80 '(8)
- 50500 DATA 280,140 '(9)
- 50510 ' ofset
- 50520 DATA 0 '1桁
- 50530 DATA 120 '2桁
- 50540 DATA 280 '3桁
- 50550 DATA 400 '4桁
- 50560 '
- 60000 ' 座標確認 DEBUG ROUTINE
- 60010 'LOAD@ "e:\work\hk2\tiff\hk2bio.tif",(0,0)'
- 60020 MOUSE 0:MOUSE 1,0,0,1
- 60030 IF MOUSE(2,1)<>0 THEN STOP
- 60040 IF MOUSE(2,0)=0 THEN 60040
- 60050 X_M=MOUSE(4,0):Y_M=MOUSE(5,0):LX=INT(X_M/8):LY=INT(Y_M/19)
- 60060 LINE(0,460)-(639,479),PSET,0,BF
- 60070 SYMBOL(0,460),"X="+STR$(X_M)+" Y="+STR$(Y_M),.75!,.75!,6
- 60080 GOTO 60030
- 60090 '
- 61000 '
- 61010 ' EVENT DUMMY FILE MAKE
- 61020 PRGDRV$="D:\FB386\CALEND" '
- 61030 GOSUB *EVOPN:R=1
- 61040 FOR I=1 TO 12:FOR J=1 TO 32
- 61050 LSET EV$=SPACE$(40)
- 61060 PUT #1,R:R=R+1
- 61070 NEXT:NEXT:CLOSE:STOP
-